目錄
前言 ..1
第1章 初識Kubernetes .9
1.1 無需安裝即可使用Kubernetes ..9
1.2 安裝Kubernetes的命令行界麵和kubectl ..10
1.3 安裝Minikube並運行本地的Kubernetes實例 12
1.4 在本地使用Minikube進行開發 ..14
1.5 在Minikube上運行應用程序 15
1.6 使用Minikube訪問儀錶盤 ..16
第2章 創建Kubernetes集群 ..20
2.1 安裝kubeadm以創建Kubernetes集群 .20
2.2 使用kubeadm創建Kubernetes集群22
2.3 從GitHub上下載Kubernetes .24
2.4 下載客戶端和服務器端可執行文件 ..25
2.5 使用hyperkube映像通過Docker運行Kubernetes主節點 26
2.6 編寫systemd單元文件來運行Kubernetes的組件 ..29
2.7 在Google Kubernetes引擎上創建Kubernetes集群 ..32
2.8 在Azure容器服務上創建Kubernetes集群 .34
第3章 學習使用Kubernetes客戶端 39
3.1 查看資源 39
3.2 刪除資源 41
3.3 使用kubectl觀察資源的變化 42
3.4 使用kubectl編輯資源 .43
3.5 通過kubectl解釋資源和字段 44
第4章 創建與修改基礎的工作負載 .46
4.1 通過kubectl run創建部署 ..46
4.2 通過清單文件創建對象 47
4.3 從零創建pod的清單文件 48
4.4 通過kubectl run創建部署 ..50
4.5 更新部署 54
第5章 使用服務 .58
5.1 通過創建服務來公布應用程序 ..59
5.2 驗證服務的DNS注冊項 .61
5.3 改變服務類型 62
5.4 在Minikube上配置ingress controller 64
5.5 從集群外部訪問服務 ..65
第6章 探索Kubernetes的API與關鍵元數據 69
6.1 發現Kubernetes上API的訪問點 .69
6.2 掌握Kubernetes清單文件的結構 .71
6.3 通過創建命名空間避免命名衝突 .73
6.4 設置命名空間的配額 ..74
6.5 給對象貼標簽 75
6.6 使用標簽進行查詢 76
6.7 通過命令注解資源 78
第7章 管理具體的工作負載 ..80
7.1 運行批處理 .80
7.2 在Pod內按照計劃時間運行任務 ..82
7.3 在每個節點上運行基礎設施的服務 ..83
7.4 管理有狀態的主從應用 85
7.5 影響Pod的啓動行為 89
第8章 捲與配置數據 .91
8.1 通過本地捲在容器間交換數據 ..91
8.2 通過Secret類型的捲將API的訪問密鑰傳遞給pod .93
8.3 提供配置數據給應用程序 ..97
8.4 在Minkube內使用持久捲 .100
8.5 掌握Minikube上數據的持久性 104
8.6 在GKE上動態配置持久性存儲空間..107
第9章 伸縮 109
9.1 部署的伸縮 ..110
9.2 在GKE中自動調整集群的大小 .110
9.3 在AWS中自動調整集群的大小 114
9.4 在GKE上使用pod的橫嚮自動伸縮 114
第10章 安全 .118
10.1 賦予應用程序唯一的身份 .118
10.2 列舉並查看訪問控製信息 .121
10.3 控製資源的訪問權限 125
10.4 加強pod的安全 ..128
第11章 監控與日誌 130
11.1 訪問容器的日誌 130
11.2 使用存活探針修復失敗狀態 ..131
11.3 使用就緒探針來控製pod的訪問流 ..133
11.4 嚮部署添加存活探針和就緒探針 ..134
11.5 在Minikube上激活Heapster監視資源 137
11.6 在Minikube上使用Prometheus 139
11.7 在Minikube上使用Elasticsearch-Fluentd-Kibana ..144
第12章 維護與故障排除 ..149
12.1 啓用kubectl的自動補齊 .149
12.2 刪除服務上的pod 150
12.3 從集群外部訪問集群IP的服務 ..152
12.4 掌握並解析資源的狀態 ..153
12.5 調試pod 155
12.6 集群狀態的詳細快照 160
12.7 添加Kubernetes工作節點 .161
12.8 抽齣Kubernetes節點以實施維護 163
12.9 管理etcd ..165
第13章 Kubernetes開發 .168
13.1 編譯源代碼 168
13.2 編譯特定的組件 169
13.3 如何使用Python客戶端與Kubernetes API交互..170
13.4 使用自定義的資源擴展API ..171
第14章 Kubernetes的生態係統 177
14.1 安裝Helm(Kubernetes的包管理器) ..177
14.2 利用Helm安裝應用程序 .178
14.3 利用Helm創建自己的圖錶打包應用程序 180
14.4 將Docker Compose文件轉換成Kubernetes清單文件 ..182
14.5 使用kubicorn創建Kubernetes集群 ..183
14.6 在版本控製中保存加密的secret .188
14.7 利用kubeless部署函數 191
附錄A 資源 195
· · · · · · (
收起)