课程目录: 云原生开发与实践培训:基于kubernetes的方式培训
4401 人关注
(78637/99817)
课程大纲:

云原生开发与实践培训:基于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 生产架构