云原生开发与实践培训:基于kubernetes的方式培训
1 课程介绍
1.1 理解什么是Cloud Native
1.2 理解Cloud Native与Kubernetes的关系
1.3 12- factors
1.4 理解 Kubernetes 设计原则、原理
1.5 了解 Kubernetes 的过去、现在和未来
1.6 了解并学会使用 Kubernetes 最重要的资源 -- API
1.7 学会如何创建和管理应用,并配置应用外部访问
1.8 理解 Kubernetes 网络、存储:CNI、CSI、CRI
1.9 掌握 Kubernetes 调度的原理和策略
1.10 Kubernetes 一些新功能的概念
1.11 了解 Kubernetes 的日志、监控方案
1.12 具备基本的故障排查的运维能力
2 Kubernetes 基本概念
2.1 了解什么是 Kubernetes
2.2 了解 Kubernetes 的主要特性
2.3 理解为什么需要 Kubernetes
2.4 了解 Kubernetes 的过去、现在和未来
2.5 了解目前 Kubernetes 社区的情况和被采用情况
2.6 了解 Kubernetes 的基本架构
2.7 获得一些学习资料推荐
3 Kubernetes 架构及原理
3.1 理解 Kubernetes 设计原则
3.2 深入理解 Kubernetes 集群中的组件及功能
3.3 了解 Kubernetes 集群对网络的预置要求
3.4 深入理解 Kubernetes 的工作原理
3.5 深入理解 Kubernetes 中 Pod 的设计思想
4 Kubernetes 安装和配置
4.1 了解部署 Kubernetes 的多种方式
4.2 可以单机部署 Kubernetes(学习演示使用)
4.3 可以在宿主机部署一套 Kubernetes 集群(非生产使用)
4.4 可以在生产环境中部署 Kubernetes 集群(生产使用)
5 Kubernetes API 及集群访问
5.1 了解 Kubernetes 的 API
5.2 理解 Kubernetes 中 API 资源的结构定义
5.3 了解 kubectl 工具的使用
5.4 了解 Kubernetes 中 API 之外的其他资源
6 ReplicaController,ReplicaSets 和 Deployments
6.1 理解 RC
6.2 理解 label 和 selector 的作用
6.3 理解 RS
6.4 理解 Deployments 并且可以操作 Deployments
6.5 理解 rolling update 和 rollback
7 Volume、配置文件及密钥
7.1 了解 Kubernetes 存储的管理,支持存储类型
7.2 理解 Pod 使用 volume 的多种工作流程以及演化
7.3 理解 pv 和 pvc 的原理
7.4 理解 storage class 的原理
7.5 理解 configmaps 的作用和使用方法
7.6 理解 secrets 的作用和使用方法资源结构
8 Service 及服务发现
8.1 了解 Docker 网络和 Kubernetes 网络
8.2 了解 Flannel 和 Calico 网络方案
8.3 理解 Pod 在 Kubernetes 网络中的工作原理
8.4 理解 Kubernetes 中的 Service
8.5 理解 Service 在 Kubernetes 网络中的工作原理
8.6 理解 Kubernetes 中的服务发现
8.7 掌握 Kubernetes 中外部访问的几种方式
9 Ingress 及负载均衡
9.1 理解 Ingress 和 Ingress controller 的工作原理
9.2 掌握如何创建 Ingress 规则
9.3 掌握如何部署 Ingress controller
9.4 扩展 facebook ktran
10 DaemonSets,StatefulSets,Jobs,HPA,RBAC
10.1 了解 DaemonSet 资源和功能
10.2 了解 StatefulSet 资源和功能
10.3 了解 Jobs 资源和功能
10.4 了解 HPA 资源和功能
10.5 了解 RBAC 资源和功能
11 Kubernetes 调度
11.1 理解 Pod 调度的相关概念
11.2 深度理解 Kubernetes 调度策略和算法
11.3 深度理解调度时的 Pod 亲和性和反亲和性
11.4 深度理解调度时的 Pod 亲和性和反亲和性
11.5 深度理解污点和容忍对调度的影响
11.6 深度理解强制调度 Pod 的方法
12 日志、监控、Troubleshooting
12.1 理解 Kubernetes 集群的日志方案
12.2 理解 Kubernetes 集群的监控方案
12.3 了解相关开源项目:Heapster,Fluentd,Prometheus 等
12.4 掌握常用的集群,Pod,Service 等故障排查和运维手段
13 Extend Kubernetes
13.1 理解和掌握 Kubernetes 中如何自定义 API 资源
13.2 可以通过 kubectl 管理 API 资源
13.3 了解用于自定义资源的 Controller 及相关使用示例
13.4 了解 CRD
13.5 实现并迁移一个CloudNative的应用
14 Kubernetes Federation
14.1 了解 Kubernetes 中 Federation 的作用和原理
14.2 了解 Federation 的创建过程
14.3 了解 Federation 支持的 API 资源
14.4 了解集群间平衡 Pod 副本的方法
15 应用编排 Helm,Chart
15.1 了解 Kubernetes 中如何进行应用编排
15.2 了解 Helm 的作用和工作原理
15.3 了解 Tiller 的作用和工作原理
16 服务市场 ServiceCatalog
16.1 了解 Kubernetes 中如何进行服务编排
16.2 了解 ServiceCatalog 的作用和工作原理
16.3 了解 Service Broker 的作用和工作原理
17 Kubernetes 安全
17.1 了解 Kubernetes 中 API 访问过程
17.2 了解 Kubernetes 中的 Authentication
17.3 了解 Kubernetes 中的 Authorization
17.4 了解 ABAC 和 RBAC 两种授权方式
17.5 了解 Kubernetes 中的 Admission
17.6 了解 Pod 和容器的操作权限安全策略
17.7 了解 Network Policy 的作用和资源配置方法
18 Kubernetes定制化开发
18.1 Client-go分析
18.2 扩展kubernetes
18.3 webhoook
18.4 admission controller
18.5 自定义调度器
19 实战
19.1 持续集成与持续交付
19.2 kubernetes生产架构
20 补充材料
20.1 kubeadm部署生产可用集群
20.2 Cloud Native
20.3 Service Mesh
20.4 Serverless
20.5 其他内容:架构,人员安排等
20.6 BPF
20.7 容器网络
20.8 生产架构