课程简介
本课程旨在为学员提供K8s云原生容器平台的全面培训,涵盖云原生概念、容器技术基础、K8s详解等多个方面。课程结合理论与实践,通过实验加深学员对知识点的理解,帮助学员在短时间内掌握云原生容器平台的关键技术。
目标收益
•理解云原生技术的核心概念和技术架构
•掌握使用Docker进行容器化应用的构建
•熟练掌握K8s核心技术,提升应用构建、发布效率和管理能力
•了解云原生DevOps学会如何基于K8s实现CI/CD
培训对象
云计算、微服务、容器技术相关人员
开发工程师、运维工程师及DevOps人员
有一定基础的IT人员,希望学习和了解云原生技术
企业IT架构师、技术经理及决策者
课程内容
第一天上午
1. 引言
1.1 为什么把“K8s”称为“云原生”容器平台
1.2 从成功案例看K8s等云原生技术给我们带来的价值
1.3 容器镜像、容器运行时与容器编排平台
2. 容器技术基础
2.1 Docker容器技术原理
2.2 容器镜像仓库的类型及应用
2.3 Dockerfile:最佳实践与常见误区
2.4 Docker发展近况及对用户的影响
实验:通过Dockerfile构建容器镜像并运行
3. Kubernetes(K8s)架构及部署
3.1 K8s 架构及原理
3.2 K8s的API Server及其APIs
3.3 K8s 部署方案简介:从单节点集群到生产级部署
3.4 K8s中的namespace和Kubectl的context设置
实验:通过kubectl操作K8s集群
第一天下午
4. K8s 工作负载控制器详解(上)
4.1 Pod —— K8s调度任务的最小单元
4.2 通过应用云原生化实战案例看Pod设计
4.3 常见K8s工作负载一览
4.4 通过Deployment在K8s上运行微服务
4.5 在K8s上实现微服务的滚动发布和弹性扩缩
实验:在K8s集群上创建工作负载在并实现滚动发布和弹性扩缩
4.6 通过Job/CronJob运行批处理/数据分析/机器学习任务
实验:在K8s集群上运行Job
4.7 通过DaemonSet运行系统后台守护进程
5. Service与Ingress
5.1 Service及其实现原理
实验:通过Service对外暴露服务提供对应用的访问
5.2 跨集群的服务注册与发现
5.3 使用Ingress对外暴露服务
5.4 Ingress实现原理
实验:通过Ingress对外暴露服务提供对应用的访问
5.5 Ingress与传统微服务网关的比较,及其他云原生服务网关方案介绍
第二天上午
6. Pod管理进阶
6.1 Pod生命周期回调
6.2 存活探针与就绪探针
实验:Pod生命周期管理
6.3 资源需求与限制
6.4 K8s对Pod的调度
实验:Pod的资源需求与限制
7. 理解 K8s 的网络和存储
7.1 K8s对基础设施的南向接口标准CNI与CSI
7.2 K8s的网络模型
7.3 典型的K8s网络方案简介:Calico、Flannel及其他
7.4 K8s 中使用存储的几种模式和应用场景
实验:使用 K8s 的存储
7.6 在K8s上运行数据库等有状态服务
7.7 公有云/IaaS环境与物理服务器环境运行K8s的异同及对应用的影响
8. K8s中的配置管理
8.1 使用ConfigMap保存和管理应用的配置信息
8.2 使用Secret保存和管理应用的敏感信息
8.3 跨集群和高级配置管理功能在K8s环境的实现
实验:通过ConfigMap和Secret为应用下发配置
第二天下午
9. 将微服务架构应用迁移上K8s
9.1 微服务架构应用迁移上K8s的收益与挑战
9.2 Spring Cloud与K8s的能力重叠、差异和选择
9.3 Spring Cloud Kubernetes项目
9.4 分步骤将已有的Spring Cloud应用迁移上K8s上
9.5 K8s上应用的监控和日志收集
10. Helm及应用
10.1 通过Helm管理应用
10.2 Helm原理
10.3 Helm Chart开发
实验:我的第一个Helm Chart
11. 基于K8s的云原生DevOps
11.1 DevOps与CI/CD简介
11.2 云原生DevOps工具
11.3 构建云原生CI/CD流水线