课程简介
⚫ 帮助学员了解以下内容
⚫ 深入理解容器及 Kubernetes 的理论知识和日常操作
⚫ 从 0 开始构建基于 Kubernetes 的分布式应用部署和运维平台
⚫ 掌握如何使用 Kubernetes 自动化部署和运维服务
⚫ 了解 Kubernetes 在企业中的最佳实践
目标收益
通过学习您应该能够了解:
✓ 容器的基本概念
✓ Kubernetes 的基本概念、集群架构及原理
✓ Kubernetes 集群的安装、配置、管理和升级过程
✓ Kubernetes 的集群、组件及应用的日志和监控系统
✓ Kubernetes 的调度策略和算法 应用程序的生命周期管理
✓ Kubernetes 的安全、认证和授权机制
✓ Kubernetes 的存储管理机制
✓ Kubernetes API、服务和网络
✓ Kubernetes 网络模型的实现方式
✓ Kubernetes 的故障排除方法
培训对象
⚫ 具备一定服务端基础知识,对容器,微服务 CI\CD 等云原生应用感兴趣的运维工程师
和架构师;
⚫ 想要进阶 Kubernetes 和云原生技术的软件开发人员;
⚫ 希望了解和学习 Kubernetes 平台解决方案和适用场景的技术管理者、技术销售和市
场人员。
课程内容
1. 云原生体系概述
◼ 云原生(Cloud Native)的定义
◼ 云原生技术理念和发展
◼ 云原生理论基础
◼ 云原生生态环境
2. Docker 的安装和管理
◼ 容器核心技术
◼ 容器映像和 Docker 注册表
◼ 使用 Dockerfile 构建容器映像
◼ 使用 Docker Compose 构建多容器应用
◼ 容器的数据卷和网络
◼ 容器的资源使用控制
◼ Docker 平台的监控
3. Kubernetes 架构介绍
◼ Kubernetes 架构
◼ 核心组件介绍
◼ 基本概念与术语
◼ Kubernetes 管理对象
4. Kubernetes 安装和配置
◼ 常用 Kubernetes 部署工具
◼ 基于 ubuntu/centos 平台的安装配置
◼ 安装 Kubernetes Masters 和 Nodes
◼ 使用 kubeadm 安装 Kubernetes 集群
◼ 选择网络解决方案
◼ 部署后的测试
5. Pod 管理与使用
◼ Pod 原理
◼ 单容器 Pod 的管理和配置
◼ 多容器 Pod 的管理和配置
◼ Pod 网络功能配置
◼ Pod 的存储卷管理
◼ Pod 的资源管理和优先级配置
◼ Pod 的 Liveness 和 Readiness 检测
6. Kubernetes 常用的控制器
◼ 使用 Deployment 调度无状态服务的工作负载
◼ 使用 Statefulset 调度有状态服务的工作负载
◼ 使用 Job 调度一次性任务
◼ 使用 CronJob 调度定时任务
◼ 使用 Daemonset 调度 Daemon 工作负载
7. Kubernetes 网络和服务
◼ Kube Proxy 和 DNS 的工作原理
◼ 使用 ClusterIP 进行群集内部服务访问
◼ 使用 NodePort 将服务发布到群集外部
◼ 使用 Ingress 实现七层反向代理
8. Kubernetes 存储
◼ 使用 Pod Volume 实现有限度的存储持久化
◼ 使用 PV 和 PVC 实现存储持久化
◼ 使用 StorageClass 实现存储管理自动化
9. Kubernetes 资源调度
◼ 使用 NodeSelector 设置节点选择策略
◼ 使用 Taints 和 Toleration 设置污点和容忍
◼ 使用 Affinity 和 AntiAffinity 实现亲和性和反亲和性
◼ 维护模式(Cordon)和疏散 POD (Drain)
10. Kubernetes 安全
◼ 身份的验证与授权
◼ 基于角色访问权限配置(RBAC) ◼ 网络安全策略配置
11. Kubernetes 应用配置
◼ 使用 ConfigMap 集中管理应用配置
◼ 使用 Secret 集中管理密文信息
12. 群集资源管理和监控
◼ 安装 Metrics Server 进行基本的性能查看
◼ 使用 HAP 实现工作负载自动伸缩
◼ 使用 Resource Quota 和 Limit Range 设置资源配额和限制
◼ 使用 Helm 包管理工具部署复杂应用
◼ 安装 Kubernetes Dashboard 实现原生监控
◼ 部署 Prometheus Stack 实现性能监控分析解决方案
◼ 部署 EFK Stack 实现日志收集分析解决方案
13. 生产架构部署及演练
◼ 生产环境部署最佳实践
◼ 高级网络解决方案的选型
◼ 企业 Kubernetes 集群部署最佳实践
◼ 项目演练