课程对象
● 运维工程师
● 系统工程师
● DevOps工程师
● 想掌握容器相关知识的IT工程师
课程基础
熟练使用Linux,至少一年实际工作经验,对自动化运维有基础了解。
课程时长
4天(6小时/天)
学习材料
赵班长编写的开源书籍:《Docker和Kubernetes实践指南》http://k8s.unixhot.com/
课程大纲
Kubernetes实战(2天)
授课时间 | 授课内容 | |
第一天 | Unit 1 Kubernetes基础 | Unit 2 Kubernetes入门实战 |
● Kubernetes逻辑架构介绍 ● Kubernetes 物理架构介绍 ● 使用kubadm快速部署Kubernetes集群 ● 使用Rancher管理Kubernetes集群 ● 公有云中的Kubernetes ● Kubernetes中的网络架构 | ● 应用迁移至Kubernetres流程 ● 第一步:应用容器化 ● 第二步:将容器封装到Pod中 ● 第三步:使用Controllers管理Pod(Deployment、DaemonSet、Job、CronJob) ● 第四步:使用Service管理Pod访问 ● 第五步:使用Ingress提供外部访问 | |
第二天 | Unit 3 Kubernetes入门实战 | Unit 4 Kubernetes企业实践 |
● 第六步:使用PV和PVC管理数据存储 ● 第七步:使用ConfigMap管理配置 ● 管理Kubernetes中Pod的资源限制 ● 管理Kubernetes中Pod的健康检查 ● Kubernetes中Pod的驱逐机制 ● 企业案例实战(使用Kubernetes部署Wordpress) | ● Kubernetes应用管理Helm实战 ● Kubernetes中监控实现 ● 使用Prometheus监控Kubernetes集群 ● Kubernetes日志采集EFK ● Kubernetes生产常见故障和技巧 ● 企业案例实战(Jenkins + Kubernetes实战) |
Kubernetes进阶(2天)
授课时间 | 授课内容 | |
第三天 | Unit 1 Kubernetes高可用架构 | Unit 2 Kubernetes应用管理 |
● Kubernetes运行机制讲解 ● Kubernetes中的容器运行时 ● Kubernetes中的网络架构 ● Kubernetes中的存储架构 | ● Node不可用原理和解决方案 ● Kubernetes升级和etcd备份 ● 应用访问链路讲解和问题诊断 ● Pod探针详解 | |
第四天 | Unit 3 Kubernetes中的Pod调度详解 | Unit 4 Kubernetes企业实践 |
● Scheduler组件的调度算法 ● Node污点的设置和管理 ● Pod污点容忍度设置和管理 ● Node亲缘性调度和优先级 ● Node非亲缘性调度和优先级 ● Kubernetes的自动伸缩HPA | ● Helm应用管理实践 ● Kustomize应用管理实践 ● Kubernetes Operator介绍 ● 自定义Resource和Controller ● 集群负载均衡和高可用 ● Service Mesh和istio介绍 |
实验环境
注意:为保证培训质量,请严格按照本文档进行实验环境准备!要求100%一致。
实战类课程,需要学员上机操作和实践,因为所有实践案例均在标准的环境进行讲解和演示,请学员严格按照要求进行学习环境的准备工作。尤其是初学者,经常因为IP地址配置错误,主机名配置错误,SELinux或者防火墙原因导致无法跟上学习进度,降低学习兴趣。
硬件设备准备
电脑一台,内存>=8G,可用磁盘空间大于80G。
安装VMware Workstation Pro虚拟机软件,用于创建虚拟机。
创建两台虚拟机,安装CentOS-7.x-x86_64系统。
实验环境详情
主机名(FQDN) | IP地址(NAT) | 描述 |
linux-node1.example.com | eth0:192.168.56.11 | 1VCPU、2G内存、一块硬盘sda 50G(动态扩展) |
linux-node2.example.com | eth0:192.168.56.12 | 1VCPU、1G内存、一块硬盘sda 50G(动态扩展) |
linux-node3.example.com | eth0:192.168.56.13 | 1VCPU、1G内存、一块硬盘sda 50G(动态扩展) |
备注 | 1.安装的时候将网卡命名为eth0、eth1,请参考《附录一 实验环境准备》。 |
环境准备
安装操作系统CentOS-7.x-x86_64。
基本系统:1VCPU+2048M内存+50G(动态)硬盘。
1. 网络选择:使用网络地址转换(NAT)。
2. 软件包选择:Minimal Install。
3. 关闭iptables和SELinux。
设置所有节点的主机名和IP地址,使用/etc/hosts做好主机名解析。
实验小技巧
请保持实验环境一致,包括但不局限于IP地址,主机名,网卡名称等,可以帮你节约很多因为环境问题的排错时间。
请不要把关注点仅仅放在实验环节,一定要在理解的基础上完成实验。