第一章 Kubernetes定義
1.1 Kubernetes是什么
1.2 Kubernetes應(yīng)用場景
1.3 例子
1.4 Kubernetes基本概念和術(shù)語
1.4.1 Master
1.4.2 Node
1.4.3 Pod
1.4.4 Label(標(biāo)簽)
1.4.5 Replication Controller
1.4.6 Deployment
1.4.7 Horizontal Pod Autoscaler
1.4.8 StatefulSet
1.4.9 Service(服務(wù))
1.4.10 Volume(存儲卷)
1.4.11 Persistent Volume
1.4.12 Namespace(命名空間)
1.4.13 Annotation(注解)
第二章 Kubernetes實踐
*2.1 Kubernetes安裝與配置
2.1.1 系統(tǒng)要求
2.1.2 使用kubeadm工具快速安裝Kubernetes集群
2.1.3 以二進制文件方式安裝Kubernetes集群
2.1.4 Kubernetes集群的安全設(shè)置
2.1.5 Kubernetes集群的網(wǎng)絡(luò)配置
2.1.6 內(nèi)網(wǎng)中的Kubernetes相關(guān)配置
2.1.7 Kubernetes的版本升級
2.1.8 Kubernetes核心服務(wù)配置詳解
*2.2 kubectl命令行工具用法詳解
2.2.1 kubectl用法概述
2.2.2 kubectl子命令詳解
2.2.3 kubectl參數(shù)列表
2.2.4 kubectl輸出格式
2.2.5 kubectl操作示例
*2.3 Pod
2.3.1 Pod定義詳解
2.3.2 Pod的基本用法
2.3.3 靜態(tài)Pod
2.3.4 Pod容器共享Volume
2.3.5 Pod的配置管理
2.3.6 在容器內(nèi)獲取Pod信息(Downward API)
2.3.7 Pod生命周期和重啟策略
2.3.8 Pod健康檢查
2.3.9 玩轉(zhuǎn)Pod調(diào)度
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服務(wù)搭建指南
2.4.6 自定義DNS和上游DNS服務(wù)器
2.4.7 Ingress:HTTP 7層路由機制
2.5kubernetes集群GPU/FPGA節(jié)點的部署與使用(重點)
Kubernetes v1.8 開始增加了 Alpha 版的 Device 插件,
用來支持 GPU、FPGA、高性能 NIC、InfiniBand 各種設(shè)備
第三章 Kubernetes原理及調(diào)度算法(重點)
*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 節(jié)點管理
3.4.2 Pod管理
3.4.3 容器健康檢查
3.4.4 cAdvisor資源監(jiān)控
3.5 kube-proxy 運行機制分析
3.6 深入分析集群安全機制
3.6.1 API Server認證管理(Authentication)
3.6.2 API Server授木又管理(Authorization)
3.6.3 Admission Control(準(zhǔn)入控制)
3.6.4 Service Account
3.6.5 Secret私密憑據(jù)
3.7 網(wǎng)絡(luò)原理
3.7.1 Kubernetes網(wǎng)絡(luò)模型
3.7.2 Docker的網(wǎng)絡(luò)基礎(chǔ)
3.7.3 Docker的網(wǎng)絡(luò)實現(xiàn)
3.7.4 Kubernetes的網(wǎng)絡(luò)實現(xiàn)
3.7.5 Pod和Service網(wǎng)絡(luò)實戰(zhàn)
3.7.6 CNI網(wǎng)絡(luò)模型
3.7.7 Kubernetes網(wǎng)絡(luò)策略
3.7.8 開源的網(wǎng)絡(luò)組件
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 動態(tài)存儲管理實戰(zhàn):GlusterFS
第四章 性能測試
4.1測試用例
4.2壓力測試監(jiān)控指標(biāo):
4.2.1在不同數(shù)據(jù)量,不同并發(fā)數(shù)下,長時間執(zhí)行壓力測試時,系統(tǒng)的穩(wěn)定性,包括:
1.>測試架構(gòu);
2.>系統(tǒng)性能表現(xiàn),在較長時間范圍內(nèi)的變化趨勢
3.>系統(tǒng)資源使用情況,在較長時間范圍內(nèi)的變化趨勢
4.>各個服務(wù)組件的TPS、響應(yīng)時間、錯誤率
5.>內(nèi)部模塊間訪問次數(shù)、耗時、錯誤率等內(nèi)部性能數(shù)據(jù)
6.>各個模塊資源使用情況
7.>各個服務(wù)端組件長時間運行時,是否出現(xiàn)進程意外退出、重啟等情況
8.>服務(wù)端日志是否有未知錯誤
4.3 apiserver
1.>api的響應(yīng)時間。
2.>apiserver緩存的存儲設(shè)備對性能的影響。
3.>流控對系統(tǒng)、系統(tǒng)性能的影響。
4.>apiserver 日志中的錯誤響應(yīng)碼。
5.>apiserver 重啟恢復(fù)的時間
6.>apiserver在壓力測試情況下,響應(yīng)時間和資源使用情況。
4.4scheduler
4.4.1壓測scheduler處理能力
4.4.2scheduler 重啟恢復(fù)的時間
4.4.3scheduler日志中的錯誤信息。
4.5controller
4.5.1壓測 deployment controller處理能力
4.5.2controller 重啟恢復(fù)的時間
4.5.3controller日志中的錯誤信息。
4.6kubelet
node心跳對系統(tǒng)性能的影響
kubelet重啟恢復(fù)的時間
kubelet日志中的錯誤信息。
4.7etcd
4.7.1etcd 的寫入性能
4.7.2etcd 的存儲設(shè)備對性能的影響。例如,寫etcd的io。
4.7.3watcher hub 數(shù)對k8s系統(tǒng)性能的影響。
第五章 Kubernetes運維指南
5.1 Kubernetes集群
5.1.1 Node的管理
5.1.2 更新資源對象的Label
5.1.3 Namespace:集群環(huán)境共享與隔離
5.1.4 Kubernetes資源管理
5.1.5 資源緊缺時的Pod驅(qū)逐機制
5.1.6 Pod Disruption Budget(主動驅(qū)逐保護)
5.1.7 Kubernetes集群的高可用部署方案
5.1.8 Kubernetes集群監(jiān)控
5.1.9 集群統(tǒng)一日志管理
5.1.10 Kubernetes審計日志(Audit Log)
5.1.11 使用Web UI(Dashboard)管理集群
5.1.12 Helm:Kubernetes應(yīng)用包管理工具
5.2 Trouble Shooting指導(dǎo)
5.2.1 查看系統(tǒng)Event事件
5.2.2 查看容器日志
5.2.3 查看Kubernetes服務(wù)日志
5.2.4 常見問題
5.2.5 尋求幫助
5.3 Kubernetes開發(fā)中的新功能
5.3.1 Pod Preset(運行時參數(shù)注入策略)
5.3.2 Cluster Federation(集群聯(lián)邦)
5.3.3 容器運行時接口(Container Runtime Interface-CRI)
5.3.4 對GPU的支持
5.3.5 Kubernetes的演進路線(Roadmap)和開發(fā)模式 |