第一章 Kubernetes定义
1.1 Kubernetes是什么
1.2 Kubernetes应用场景
1.3 例子
1.4 Kubernetes基本概念和术语
1.4.1 Master
1.4.2 Node
1.4.3 Pod
1.4.4 Label(标签)
1.4.5 Replication Controller
1.4.6 Deployment
1.4.7 Horizontal Pod Autoscaler
1.4.8 StatefulSet
1.4.9 Service(服务)
1.4.10 Volume(存储卷)
1.4.11 Persistent Volume
1.4.12 Namespace(命名空间)
1.4.13 Annotation(注解)
第二章 Kubernetes实践
*2.1 Kubernetes安装与配置
2.1.1 系统要求
2.1.2 使用kubeadm工具快速安装Kubernetes集群
2.1.3 以二进制文件方式安装Kubernetes集群
2.1.4 Kubernetes集群的安全设置
2.1.5 Kubernetes集群的网络配置
2.1.6 内网中的Kubernetes相关配置
2.1.7 Kubernetes的版本升级
2.1.8 Kubernetes核心服务配置详解
*2.2 kubectl命令行工具用法详解
2.2.1 kubectl用法概述
2.2.2 kubectl子命令详解
2.2.3 kubectl参数列表
2.2.4 kubectl输出格式
2.2.5 kubectl操作示例
*2.3 Pod
2.3.1 Pod定义详解
2.3.2 Pod的基本用法
2.3.3 静态Pod
2.3.4 Pod容器共享Volume
2.3.5 Pod的配置管理
2.3.6 在容器内获取Pod信息(Downward API)
2.3.7 Pod生命周期和重启策略
2.3.8 Pod健康检查
2.3.9 玩转Pod调度
2.3.10 Init Container(初始化容器)
2.3.11 Pod的升级和回滚
2.3.12 Pod的扩容和缩容
2.3.13 使用StatefulSet搭建MongoDB集群
*2.4 Service
2.4.1 Service定义详解
2.4.2 Service基本用法
2.4.3 Headless Service
2.4.4 集群外部访问Pod或Service
2.4.5 DNS服务搭建指南
2.4.6 自定义DNS和上游DNS服务器
2.4.7 Ingress:HTTP 7层路由机制
2.5kubernetes集群GPU/FPGA节点的部署与使用(重点)
Kubernetes v1.8 开始增加了 Alpha 版的 Device 插件,
用来支持 GPU、FPGA、高性能 NIC、InfiniBand 各种设备
第三章 Kubernetes原理及调度算法(重点)
*3.1 Kubernetes API Server 原理分析
3.1.1 Kubernetes API Server概述
3.1.2 独特的Kubernetes Proxy API接口
3.1.3 集群功能模块之间的通信
*3.2 Controller Manager 原理分析
3.2.1 Replication Controller
3.2.2 Node Controller
3.2.3 ResourceQuota Controller
3.2.4 Namespace Controller
3.2.5 Service Controller与Endpoint Controller
3.3 Scheduler原理分析 ***********************
3.4 kubelet运行机制分析
3.4.1 节点管理
3.4.2 Pod管理
3.4.3 容器健康检查
3.4.4 cAdvisor资源监控
3.5 kube-proxy 运行机制分析
3.6 深入分析集群安全机制
3.6.1 API Server认证管理(Authentication)
3.6.2 API Server授木又管理(Authorization)
3.6.3 Admission Control(准入控制)
3.6.4 Service Account
3.6.5 Secret私密凭据
3.7 网络原理
3.7.1 Kubernetes网络模型
3.7.2 Docker的网络基础
3.7.3 Docker的网络实现
3.7.4 Kubernetes的网络实现
3.7.5 Pod和Service网络实战
3.7.6 CNI网络模型
3.7.7 Kubernetes网络策略
3.7.8 开源的网络组件
3.8 共享存储原理
3.8.1 共享存储机制概述
3.8.2 PV详解
3.8.3 PVC详解
3.8.4 PV和PVC的生命周期
3.8.5 StorageClass详解
3.8.6 动态存储管理实战:GlusterFS
第四章 性能测试
4.1测试用例
4.2压力测试监控指标:
4.2.1在不同数据量,不同并发数下,长时间执行压力测试时,系统的稳定性,包括:
1.>测试架构;
2.>系统性能表现,在较长时间范围内的变化趋势
3.>系统资源使用情况,在较长时间范围内的变化趋势
4.>各个服务组件的TPS、响应时间、错误率
5.>内部模块间访问次数、耗时、错误率等内部性能数据
6.>各个模块资源使用情况
7.>各个服务端组件长时间运行时,是否出现进程意外退出、重启等情况
8.>服务端日志是否有未知错误
4.3 apiserver
1.>api的响应时间。
2.>apiserver缓存的存储设备对性能的影响。
3.>流控对系统、系统性能的影响。
4.>apiserver 日志中的错误响应码。
5.>apiserver 重启恢复的时间
6.>apiserver在压力测试情况下,响应时间和资源使用情况。
4.4scheduler
4.4.1压测scheduler处理能力
4.4.2scheduler 重启恢复的时间
4.4.3scheduler日志中的错误信息。
4.5controller
4.5.1压测 deployment controller处理能力
4.5.2controller 重启恢复的时间
4.5.3controller日志中的错误信息。
4.6kubelet
node心跳对系统性能的影响
kubelet重启恢复的时间
kubelet日志中的错误信息。
4.7etcd
4.7.1etcd 的写入性能
4.7.2etcd 的存储设备对性能的影响。例如,写etcd的io。
4.7.3watcher hub 数对k8s系统性能的影响。
第五章 Kubernetes运维指南
5.1 Kubernetes集群
5.1.1 Node的管理
5.1.2 更新资源对象的Label
5.1.3 Namespace:集群环境共享与隔离
5.1.4 Kubernetes资源管理
5.1.5 资源紧缺时的Pod驱逐机制
5.1.6 Pod Disruption Budget(主动驱逐保护)
5.1.7 Kubernetes集群的高可用部署方案
5.1.8 Kubernetes集群监控
5.1.9 集群统一日志管理
5.1.10 Kubernetes审计日志(Audit Log)
5.1.11 使用Web UI(Dashboard)管理集群
5.1.12 Helm:Kubernetes应用包管理工具
5.2 Trouble Shooting指导
5.2.1 查看系统Event事件
5.2.2 查看容器日志
5.2.3 查看Kubernetes服务日志
5.2.4 常见问题
5.2.5 寻求帮助
5.3 Kubernetes开发中的新功能
5.3.1 Pod Preset(运行时参数注入策略)
5.3.2 Cluster Federation(集群联邦)
5.3.3 容器运行时接口(Container Runtime Interface-CRI)
5.3.4 对GPU的支持
5.3.5 Kubernetes的演进路线(Roadmap)和开发模式 |