第一章 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)和開發模式 |