Kubernetes 是容器編排引擎的事實(shí)標(biāo)準(zhǔn),是繼大數(shù)據(jù)、云計(jì)算和 Docker 之后又一熱門技術(shù),而且未來相當(dāng)一段時(shí)間內(nèi)都會(huì)非常流行。對(duì)于IT行業(yè)來說,這是一項(xiàng)非常有價(jià)值的技術(shù)。對(duì)于IT從業(yè)者來說,掌握容器技術(shù)既是市場的需要,也是提升自我價(jià)值的重要途徑。
《每天5分鐘玩轉(zhuǎn)Kubernetes》共15章,系統(tǒng)介紹了 Kubernetes 的架構(gòu)、重要概念、安裝部署方法、運(yùn)行管理應(yīng)用的技術(shù)、網(wǎng)絡(luò)存儲(chǔ)管理、集群監(jiān)控和日志管理等重要內(nèi)容。書中通過大量實(shí)操案例深入淺出地講解 Kubernetes 核心技術(shù),是一本從入門到進(jìn)階的實(shí)用Kubernetes 操作指導(dǎo)手冊。讀者在學(xué)習(xí)的過程中,可以跟著教程進(jìn)行操作,在實(shí)踐中掌握 Kubernetes 的核心技能。在之后的工作中,則可以將本教程作為參考書,按需查找相關(guān)知識(shí)點(diǎn)。
《每天5分鐘玩轉(zhuǎn) Kubernetes》主要面向微服務(wù)軟件開發(fā)人員,以及 IT 實(shí)施和運(yùn)維工程師等相關(guān)人員,也適合作為高等院校和培訓(xùn)學(xué)校相關(guān)專業(yè)的教學(xué)參考書。
目 錄
第1章 先把 Kubernetes跑起來 1
1.1 先跑起來 1
1.2 創(chuàng)建 Kubernetes集群 2
1.3 部署應(yīng)用 4
1.4 訪問應(yīng)用 5
1.5 Scale 應(yīng)用 6
1.6 滾動(dòng)更新 7
1.7 小結(jié) 8
第2章 重要概念 9
第3章 部署 KubernetesCluster 13
3.1 安裝 Docker 14
3.2 安裝 kubelet、kubeadm 和 kubectl 14
3.3 用 kubeadm 創(chuàng)建 Cluster 14
3.3.1 初始化Master 14
3.3.2 配置 kubectl 16
3.3.3 安裝Pod網(wǎng)絡(luò) 16
3.3.4 添加 k8s-node1 和 k8s-node2 16
3.4 小結(jié) 18
第4章 Kubernetes 架構(gòu) 19
4.1 Master 節(jié)點(diǎn) 19
4.2 Node 節(jié)點(diǎn) 20
4.3 完整的架構(gòu)圖 21
4.4 用例子把它們串起來 22
4.5 小結(jié) 24
第5章 運(yùn)行應(yīng)用 25
5.1 Deployment 25
5.1.1 運(yùn)行Deployment 25
5.1.2 命令 vs 配置文件 29
5.1.3 Deployment 配置文件簡介 30
5.1.4 伸縮 31
5.1.5 Failover 33
5.1.6 用label 控制 Pod 的位置 33
5.2 DaemonSet 36
5.2.1 kube-flannel-ds 36
5.2.2 kube-proxy 37
5.2.3 運(yùn)行自己的 DaemonSet 38
5.3 Job 40
5.3.1 Pod 失敗的情況 41
5.3.2 Job 的并行性 43
5.3.3 定時(shí) Job 45
5.4 小結(jié) 48
第6章 通過 Service 訪問 Pod 49
6.1 創(chuàng)建 Service 49
6.2 Cluster IP 底層實(shí)現(xiàn) 51
6.3 DNS 訪問 Service 53
6.4 外網(wǎng)如何訪問Service 55
6.5 小結(jié) 58
第7章 Rolling Update 59
7.1 實(shí)踐 59
7.2 回滾 61
7.3 小結(jié) 63
第8章 Health Check 64
8.1 默認(rèn)的健康檢查 64
8.2 Liveness 探測 65
8.3 Readiness 探測 67
8.4 Health Check 在 Scale Up 中的應(yīng)用 69
8.5 Health Check 在滾動(dòng)更新中的應(yīng)用 71
8.6 小結(jié) 75
第9章 數(shù)據(jù)管理 76
9.1 Volume 76
9.1.1 emptyDir 76
9.1.2 hostPath 78
9.1.3 外部 Storage Provider 79
9.2 PersistentVolume & PersistentVolumeClaim 81
9.2.1 NFS PersistentVolume 81
9.2.2 回收 PV 84
9.2.3 PV 動(dòng)態(tài)供給 86
9.3 一個(gè)數(shù)據(jù)庫例子 87
9.4 小結(jié) 91
第10章 Secret & Configmap 92
10.1 創(chuàng)建 Secret 92
10.2 查看 Secret 93
10.3 在Pod中使用Secret 94
10.3.1 Volume 方式 94
10.3.2 環(huán)境變量方式 96
10.4 ConfigMap 97
10.5 小結(jié) 100
第11章 Helm—Kubernetes的包管理器 101
11.1 Why Helm 101
11.2 Helm 架構(gòu) 103
11.3 安裝 Helm 104
11.3.1 Helm 客戶端 104
11.3.2 Tiller服務(wù)器 105
11.4 使用Helm 106
11.5 chart 詳解 109
11.5.1 chart 目錄結(jié)構(gòu) 109
11.5.2 chart 模板 113
11.5.3 再次實(shí)踐 MySQL chart 115
11.5.4 升級(jí)和回滾 release 118
11.5.5 開發(fā)自己的 chart 119
11.6 小結(jié) 126
第12章 網(wǎng) 絡(luò) 127
12.1 Kubernetes 網(wǎng)絡(luò)模型 127
12.2 各種網(wǎng)絡(luò)方案 128
12.3 Network Policy 129
12.3.1 部署 Canal 129
12.3.2 實(shí)踐 Network Policy 130
12.4 小結(jié)135
第13章 Kubernetes Dashboard 136
13.1 安裝 136
13.2 配置登錄權(quán)限 137
13.3 Dashboard 界面結(jié)構(gòu) 139
13.4 典型使用場景 140
13.4.1 部署 Deployment 140
13.4.2 在線操作 141
13.4.3 查看資源詳細(xì)信息 142
13.4.4 查看 Pod 日志 142
13.5 小結(jié) 143
第14章 Kubernetes 集群監(jiān)控 144
14.1 Weave Scope 144
14.1.1 安裝 Scope 144
14.1.2 使用 Scope 145
14.2 Heapster 151
14.2.1 部署 151
14.2.2 使用 152
14.3 Prometheus Operator 155
14.3.1 Prometheus 架構(gòu) 159
14.3.2 Prometheus Operator 架構(gòu) 161
14.3.3 部署 Prometheus Operator 162
14.4 小結(jié) 167
第15章 Kubernetes 集群日志管理 168
15.1 部署 168
15.2 小結(jié) 173
寫在最后 174