课程大纲
Day 1: 云原生概述及应用容器化
1. 云原生概述
1.1 从案例看应用架构演进——从传统应用到云原生应用
1.2 云原生架构的优势和带来的新挑战
1.3 云原生技术体系概述
1.4 为什么现在谈云原生必谈K8s?其深层原因是什么?
2. 容器技术及构建容器镜像的最佳实践
2.1 以Docker为代表的容器技术原理及应用
2.2 Dockerfile常见问题及最佳实践
2.3 不同特点的应用容器化例子(Java、C++、Python及其他)
2.3 Docker发展中遇到的问题及容器技术未来发展方向
3. 不是一个“人”在战斗 —— 从单个容器到K8s Pod
3.1 多进程协同实现完整微服务功能的场景
3.2 Sidecar模式及应用举例:辅助、代理、适配
3.3 initContainer模式及应用举例:环境准备、延迟启动
3.4 Under the hood: K8s架构及原理
4. 云原生应用设计模式简介
Day 2: 基于K8s 构建云原生应用
5. 基于K8s实现无状态服务模式及相关技术要点
5.1 基于Deployment & Service在K8s上实现无状态服务
5.2 服务的健康状态探针与容错
5.3 容器的生命周期回调及其应用
5.4 配置管理
5.5 无状态服务上云例子(Java、Spring boot)
6. 基于K8s实现有状态服务模式及相关技术要点
6.1 基于StatefulSet & Headless Service在K8s上实现有状态服务
6.2 有状态服务的扩缩容
6.3 有状态服务的状态备份
6.4 有状态服务上云例子(MySQL、Redis)
7. 批处理模式及其在K8s上的实现
7.1 K8s Job & CronJob
7.2 通过Message Queue实现对Job的协调
7.3 批处理作业上云例子(离线数据分析)
8. API网关模式及其在K8s上的实现
8.1 API网关模式与K8s Ingress
8.2 Ingress的不足与应对方法
9. 云原生应用设计模式总结及综合案例
Day 3: 云原生应用设计模式及实现进阶
10. 声明式API和Operator模式及实现
10.1 被CNCF写入“云原生技术”定义的声明式API是什么?
10.2 声明式API、事件驱动与Operator模式
10.3 List & Watch —— 声明式API的底层机制
10.4 Operator开发 —— 声明式API的后端实现
10.5 声明式API与Operator模式的适用场景和应用案例
11. 服务网格及应用
11.1 什么是服务网格?
11.2 在K8s中部署开源服务网格Istio
11.3 Istio Sidecar注入和应用基本管理
11.4 API网关在Istio中的实现
11.5 蓝绿、滚动、金丝雀、ABTest发布
11.6 调用链跟踪和应用流量可视化
11.7 服务网格在应用中的潜在技术风险
12. 将云原生能力延伸到边缘
12.1 边缘计算的概念以及为什么要把云原生能力延伸到边缘
12.2 基于K8s的边缘计算与云边协同方案 —— KubeEdge
12.3 基于KubeEdge的边缘应用开发
12.4 云边协同应用案例
13. 将Spring Cloud、Dubbo等微服务框架融入K8s生态
13.1 Spring Cloud、Dubbo与K8s生态结合的收益与挑战
13.2 Spring Cloud和K8s的结合
13.3 Dubbo与K8s和Istio的结合
13.4 将已有的Spring Cloud和Dubbo应用迁移到K8s上__