《CKA/CKAD應試指南:從Docker到Kubernetes完全攻略》是北京大學出版社出版圖書。
基本介紹
內容簡介,目錄,
內容簡介
本書系統介紹了 docker 及 kubernetes 的相關知識,可以幫助讀者快速了解及熟練配置 kubernetes。
本書共分為 16 章。首先介紹了 docker 基礎和 docker 進階。其次介紹了 kubernetes 的基礎操作,包括部署安裝kubernetes 集群、升級 kubernetes、創建及管理 pod 等。然後重點介紹存儲管理、密碼管理、deployment、daemonset 及其他控制器、探針、job、服務管理、網路管理、包管理及安全管理等內容。最後通過一個綜合實驗 devops,全面複習本書所有內容。
本書適合想系統學習 docker 和 kubernetes,以及希望通過 CKA 和 CKAD 考試的讀者學習使用。此外,本書中的許多案例還可以直接套用於生產環境。
目錄
第1章 docker基礎
1.1 容器介紹及環境準備
1.2 安裝並配置docker
1.2.1 安裝docker- ce
1.2.2 解決鏡像下載慢的問題
1.3 鏡像管理
1.3.1 鏡像的命名
1.3.2 對鏡像重新做標籤
1.3.3 刪除鏡像
1.3.4 查看鏡像的層結構
1.3.5 導出鏡像
1.3.6 導入鏡像
1.4 創建容器
1.4.1 創建容器
1.4.2 容器的生命期
1.4.3 創建臨時容器
1.4.4 指定容器里運行的命令
1.4.5 創建容器的時候使用變數
1.4.6 把容器連線埠映射到物理機
1.5 實戰練習—創建mysql的容器
1.6 管理容器的命令
1.6.1 在容器里執行指定的命令
1.6.2 物理機和容器互相拷貝檔案
1.6.3 關閉、啟動、重啟容器
1.6.4 查看容器里的輸出
1.7 數據卷的使用
1.8 docker網路
1.8.1 了解docker網路
1.8.2 創建docker網路
1.9 容器互聯
1.9.1 方法1:通過容器IP的方式訪問
1.9.2 方法2:使用link的方式
模擬考題
第2章 docker進階
2.1 自定義鏡像
2.2 使用registry鏡像搭建私有倉庫
2.2.1 搭建私有倉庫並設定
2.2.2 從私有倉庫下載鏡像
2.2.3 刪除本地倉庫里的鏡像
2.3 使用harbor搭建私有倉庫
2.3.1 安裝compose
2.3.2 安裝harbor
模擬考題
第3章 部署kubernetes集群
3.1 了解kubernetes架構及組件介紹
3.2 安裝kubernetes集群
3.2.1 實驗拓撲圖及環境
3.2.2 實驗準備
3.2.3 安裝master
3.2.4 配置worker加入集群
3.2.5 安裝calico網路
3.3 安裝後的設定
3.3.1 刪除節點及重新加入
3.3.2 常見的一些命令
3.4 設定metric-server監控pod及節點的負載
3.5 命名空間namespace
3.6 管理命名空間
3.7 安裝一套v11版本的集群
模擬考題
第4章 升級kubernetes
4.1 升級步驟
4.2 升級第一台master
4.2.1 升級kubeadm
4.2.2 升級kubernetes集群里master上的各個組件
4.2.3 升級master上的kubelet和kubectl
4.3 升級worker
模擬考題
第5章 pod
5.1 創建及刪除pod
5.1.1 創建pod
5.1.2 刪除pod
5.1.3 生成yaml檔案創建pod
5.2 pod的基本操作
5.3 了解pod的聲明周期,優雅地關閉pod
5.3.1 pod的延期刪除
5.3.2 pod hook(鉤子)
5.4 初始化pod
5.4.1 了解初始化容器
5.4.2 第一個初始化容器的例子
5.4.3 第二個初始化容器的例子
5.5 靜態pod
5.5.1 創建靜態pod
5.5.2 master上靜態pod的指定方式
5.6 手動指定pod運行位置
5.6.1 給節點設定標籤
5.6.2 創建在特定節點上運行的pod
5.6.3 Annotations設定
5.7 節點的cordon與drain
5.7.1 節點的cordon
5.7.2 節點的drain
5.8 節點taint及pod的tolerations
5.8.1 給節點設定及刪除taint
5.8.2 設定operator的值為Equal
5.8.3 operator的值等於Exists的情況
模擬考題
第6章 存儲管理
6.1 emptyDir
6.2 hostPath
6.3 NFS存儲
6.4 持久性存儲
6.4.1 PersistentVolume
6.4.2 PersistentVolumeClaim
6.4.3 storageClassName
6.4.4 使用持久性存儲
6.4.5 pv回收策略
6.5 動態卷供應
6.5.1 storageClass的工作流程
6.5.2 利用nfs創建動態卷供應
6.5.3 部署NFS分配器
6.5.4 部署storageClass
模擬考題
第7章 密碼管理
7.1 secret
7.1.1 創建secret
7.1.2 使用secret
7.2 configmap
7.2.1 創建configmap
7.2.2 使用configmap
模擬考題
第8章 deployment
8.1 創建和刪除deployment
8.1.1 通過yaml檔案的方式創建deployment
8.1.2 deployment健壯性測試
8.2 修改deployment副本數
8.2.1 通過命令行修改
8.2.2 通過編輯deployment的方式修改
8.2.3 修改yaml檔案的方式
8.3 水平自動更新HPA
8.3.1 配置HPA
8.3.2 測試HPA
8.4 deployment鏡像的升級及回滾
8.4.1 鏡像升級
8.4.2 鏡像的回滾
8.5 滾動升級
模擬考題
第9章 daemonset及其他控制器
9.1 創建及刪除ds
9.2 指定pod所在位置
9.3 其他控制器ReplicationController(rc)
9.4 其他控制器ReplicaSet(rs)
9.5 deployment、rc、rs之間yaml檔案的對比
模擬考題
第 10 章 探針 187
10.1 liveness probe 187
10.1.1 command 探測方式188
10.1.2 liveness probe httpGet 探測方式.190
10.1.3 liveness probe tcpScoket 探測方式.192
10.2 readiness probe 193
模擬考題 197
第 11 章 job 199
11.1 job . 199
11.1.1 創建 job.200
11.1.2 在 job 中指定參數202
11.2 cronjob. 206
模擬考題208
第 12 章 服務管理 209
12.1 服務的基本管理 210
12.1.1 環境準備 .210
12.1.2 創建 svc211
12.1.3 刪除 svc213
12.1.4 驗證 svc 的負載均衡功能.214
12.1.5 通過 yaml 檔案的方式創建 service215
12.2 服務發現 216
12.2.1 環境準備 .217
12.2.2 通過直接訪問 clusterip 的方式訪問219
12.2.3 通過變數的方式.220
12.2.4 通過 DNS 的方式 223
12.3 服務發布 225
12.3.1 NodePort .225
12.3.2 LoadBalancer227
12.3.3 ingress .229
模擬考題235
第 13 章 網路管理 237
13.1 實驗準備 238
13.2 創建 ingress 類型的網路策略 242
13.2.1 允許特定標籤的 pod 能訪問.242
13.2.2 允許特定網段的客戶端能訪問 245
13.2.3 允許特定命名空間裡的 pod 能訪問 247
13.3 創建 egress 類型的網路策略. 250
13.4 默認的策略 254
模擬考題255
第 14 章 包管理 helm v3 257
14.1 安裝 helm 257
14.2 倉庫管理 260
14.3 部署一個簡單的 mysql 套用 261
14.4 搭建私有源 264
14.5 實戰演示 266
第 15 章 安全管理 273
15.1 創建 kubeconfig 檔案. 274
15.1.1 申請證書 .275
15.1.2 創建 kubeconfig 檔案277
15.1.3 驗證 kubeconfig 檔案278
15.2 kubernetes 的授權 279
15.2.1 role 和 rolebinding280
15.2.2 clusterrole 和 clusterrolebinding286
15.2.3 service account .289
15.3 安裝 dashboard 291
15.4 資源限制 294
15.4.1 利用容器里的 resources.294
15.4.2 limitrange .298
15.4.3 resourcequota.300
模擬考題 301
第 16 章 devops 303
16.1 實驗拓撲 304
16.2 準備 vms9,並搭建倉庫 304
16.3 安裝 gitlab 並配置 306
16.4 jenkins 安裝. 310
16.5 安裝 docker 外掛程式. 314
16.6 jenkins 安全設定 . 316
16.7 拷貝 kubeconfig 檔案. 317
16.8 創建項目 319
16.9
配置 gitlab 和 jenkins 的聯動 . 321
16.10 驗證 CICD . 322
習 題 答 案