容器云運(yùn)維實(shí)戰(zhàn)——Docker與Kubernetes集群
定 價(jià):89 元
- 作者:黃靖鈞
- 出版時(shí)間:2019/2/1
- ISBN:9787121339066
- 出 版 社:電子工業(yè)出版社
- 中圖法分類:TP316.85
- 頁碼:384
- 紙張:
- 版次:01
- 開本:16開
本書圍繞當(dāng)前容器云運(yùn)維的主流框架:Docker、Kubernetes詳細(xì)介紹了容器云運(yùn)維的實(shí)戰(zhàn)技巧,在內(nèi)容上分為三大部分:第一部分(第1~2章)介紹了在Linux系統(tǒng)中傳統(tǒng)服務(wù)器運(yùn)維的基礎(chǔ)知識(shí)以及集群管理工具;第二部分(第3~7章)講解了以Docker為主的容器引擎的基本知識(shí)與原理,并介紹了容器技術(shù)在DevOps中的實(shí)際應(yīng)用場景;第三部分(第8~9章)詳細(xì)講解了基于Kubernetes的容器云集群運(yùn)維技巧。全書幾乎囊括了容器云主流的運(yùn)維開發(fā)生態(tài),詳細(xì)講解了基于容器云的集群運(yùn)維解決方案。本書適合容器云初學(xué)者,也適合那些對(duì)Docker有一定了解,但對(duì)容器云的運(yùn)維方式不甚了解的讀者。
黃靖鈞,95 后,全棧開發(fā)者,長期以來一直使用容器技術(shù)作為應(yīng)用部署方案,在 Docker 容器實(shí)戰(zhàn)方面經(jīng)驗(yàn)豐富。曾參與多個(gè) PaaS 與 CaaS (容器即服務(wù))項(xiàng)目開發(fā),現(xiàn)從事 Serverless 與 SDN 等領(lǐng)域的研究。
第1章 Linux 運(yùn)維基礎(chǔ) 1
1.1 Linux基礎(chǔ) 2
1.1.1 systemd 2
1.1.2 Shell腳本 6
1.2 自動(dòng)化運(yùn)維 14
1.2.1 自動(dòng)化運(yùn)維之Ansible 14
1.2.2 Ansible的使用 16
1.2.3 Ansible模塊 23
1.2.4 playbook 27
1.3 本章小結(jié) 38
第2章 高可用的Linux集群 39
2.1 高可用集群基礎(chǔ) 40
2.1.1 高可用衡量標(biāo)準(zhǔn) 40
2.1.2 高可用層次結(jié)構(gòu) 40
2.1.3 常見的高可用方案 41
2.2 虛擬服務(wù)的實(shí)現(xiàn) 44
2.2.1 DNS輪詢 44
2.2.2 客戶端調(diào)度 45
2.2.3 應(yīng)用層負(fù)載調(diào)度 46
2.2.4 IP層負(fù)載調(diào)度 46
2.3 LVS負(fù)載均衡 46
2.3.1 LVS體系結(jié)構(gòu) 47
2.3.2 IP負(fù)載均衡 48
2.3.3 負(fù)載調(diào)度算法 54
2.3.4 ipvsadm工具詳解 56
2.3.5 LVS集群實(shí)踐 58
2.4 Nginx負(fù)載均衡 63
2.4.1 Nginx配置文件詳解 63
2.4.2 Nginx負(fù)載均衡模塊 68
2.5 本章小結(jié) 75
第3章 Docker容器引擎 76
3.1 容器技術(shù) 77
3.1.1 虛擬化技術(shù) 77
3.1.2 容器技術(shù)與Docker 79
3.1.3 容器技術(shù)原理 84
3.2 Docker基礎(chǔ) 89
3.2.1 Docker架構(gòu) 89
3.2.2 Docker安裝 91
3.2.3 Docker命令 96
3.3 Docker鏡像 97
3.3.1 認(rèn)識(shí)鏡像 97
3.3.2 鏡像操作 99
3.3.3 Dockerfile詳解 103
3.3.4 鏡像倉庫 118
3.4 Docker容器 121
3.4.1 認(rèn)識(shí)容器 121
3.4.2 容器操作 123
3.4.3 數(shù)據(jù)卷 134
3.5 插件與存儲(chǔ)驅(qū)動(dòng) 138
3.5.1 Docker插件 138
3.5.2 存儲(chǔ)驅(qū)動(dòng) 139
3.6 容器與操作系統(tǒng) 140
3.6.1 為容器而打造:Container Linux(CoreOS) 140
3.6.2 定制化容器系統(tǒng):RancherOS 142
3.7 本章小結(jié) 143
第4章 容器網(wǎng)絡(luò) 144
4.1 Docker網(wǎng)絡(luò)基礎(chǔ) 145
4.1.1 端口映射 145
4.1.2 端口暴露 146
4.1.3 容器互聯(lián) 147
4.2 Docker網(wǎng)絡(luò)模式 152
4.2.1 none模式 152
4.2.2 container模式 154
4.2.3 host模式 155
4.2.4 bridge模式 156
4.2.5 overlay模式 157
4.3 Docker網(wǎng)絡(luò)配置 158
4.3.1 Daemon網(wǎng)絡(luò)參數(shù) 158
4.3.2 配置DNS 159
4.4 本章小結(jié) 159
第5章 容器編排 160
5.1 安裝Docker Compose 161
5.1.1 二進(jìn)制安裝 161
5.1.2 使用Python pip安裝 161
5.2 Compose命令基礎(chǔ) 162
5.2.1 指定配置文件 162
5.2.2 指定項(xiàng)目名稱 163
5.2.3 Compose環(huán)境變量 163
5.2.4 build:構(gòu)建服務(wù)鏡像 164
5.2.5 bundle:生成DAB包 165
5.2.6 config:檢查配置語法 165
5.2.7 create:創(chuàng)建服務(wù)容器 166
5.2.8 down:清理項(xiàng)目 167
5.2.9 events:查看事件 168
5.2.10 exec:進(jìn)入服務(wù)容器 168
5.2.11 kill:殺死服務(wù)容器 169
5.2.12 logs:查看服務(wù)容器日志 169
5.2.13 pause:暫停服務(wù)容器 170
5.2.14 port:查看服務(wù)容器端口狀態(tài) 170
5.2.15 ps/images:查看容器與鏡像 171
5.2.16 pull:拉取項(xiàng)目鏡像 172
5.2.17 push:推送項(xiàng)目鏡像 172
5.2.18 restart:重啟服務(wù)容器 173
5.2.19 rm:刪除項(xiàng)目容器 173
5.2.20 run:執(zhí)行一次性命令 174
5.2.21 scale:設(shè)置服務(wù)容器數(shù)量 177
5.2.22 start:啟動(dòng)服務(wù)容器 178
5.2.23 stop:停止服務(wù)容器 178
5.2.24 top:查看進(jìn)程狀態(tài) 178
5.2.25 unpause:取消暫停 179
5.2.26 up:啟動(dòng)項(xiàng)目 179
5.3 Compose配置文件 183
5.3.1 配置文件基礎(chǔ) 183
5.3.2 基本配置 184
5.3.3 網(wǎng)絡(luò)配置 199
5.3.4 配置擴(kuò)展 200
5.4 Compose實(shí)戰(zhàn) 204
5.4.1 WordPress博客部署 204
5.4.2 Django框架部署 205
5.5 本章小結(jié) 207
第6章 Docker集群管理 208
6.1 Swarm 基礎(chǔ) 209
6.1.1 Docker Swarm 命令 209
6.1.2 Docker Node 命令 211
6.1.3 Docker Stack 命令 213
6.1.4 Docker集群網(wǎng)絡(luò) 214
6.2 集群進(jìn)階 223
6.2.1 Swarm:高可用的Docker集群管理工具 223
6.2.2 Shipyard:集群管理面板 225
6.2.3 Portainer:容器管理面板 227
6.3 本章小結(jié) 229
第7章 Docker生態(tài) 230
7.1 宿主管理工具:Machine 231
7.1.1 Machine的安裝 231
7.1.2 宿主環(huán)境管理 231
7.2 容器編排調(diào)度 233
7.2.1 Rancher:集群管理面板 233
7.2.2 Nomad:行業(yè)領(lǐng)先的調(diào)度系統(tǒng) 235
7.2.3 DC/OS:一切皆可調(diào)度 237
7.2.4 服務(wù)發(fā)現(xiàn) 238
7.3 私有鏡像倉庫 239
7.3.1 私有倉庫的部署 239
7.3.2 VMware Harbor:企業(yè)私有
倉庫 250
7.3.3 SUSE Portus:鏡像倉庫前端
分布認(rèn)證 254
7.4 Docker插件 256
7.4.1 授權(quán)插件 256
7.4.2 Flocker存儲(chǔ)插件 257
7.4.3 網(wǎng)絡(luò)驅(qū)動(dòng)插件 257
7.5 Docker安全 259
7.5.1 Docker安全機(jī)制 259
7.5.2 Docker資源控制 261
7.5.3 Docker安全工具 264
7.6 監(jiān)控與日志 265
7.6.1 cAdvisor:原生集群監(jiān)控 265
7.6.2 Logspout:日志處理 266
7.6.3 Grafana:數(shù)據(jù)可視化 267
7.6.4 其他監(jiān)控工具 269
7.7 基于Docker的PaaS平臺(tái) 270
7.7.1 Deis:輕量級(jí)PaaS平臺(tái) 270
7.7.2 Tsuru:可擴(kuò)展PaaS平臺(tái) 270
7.7.3 Flynn:模塊化PaaS平臺(tái) 271
7.8 Docker持續(xù)集成 271
7.8.1 Drone:輕量級(jí)CI工具 271
7.8.2 Travis CI:著名的CI/CD
服務(wù)商 273
7.9 其他 274
7.10 本章小結(jié) 276
第8章 Kubernetes入門 277
8.1 Kubernetes介紹 278
8.1.1 什么是Kubernetes 278
8.1.2 Kubernetes架構(gòu) 278
8.1.3 Kubernetes的優(yōu)勢 280
8.2 Kubernetes概念 281
8.2.1 Kubernetes資源 281
8.2.2 調(diào)度中心:Master 281
8.2.3 工作節(jié)點(diǎn):Node 281
8.2.4 最小調(diào)度單位:Pod 283
8.2.5 資源標(biāo)簽:Label 284
8.2.6 彈性伸縮:RC與RS 286
8.2.7 部署對(duì)象:Deployment 287
8.2.8 水平擴(kuò)展:HPA 288
8.2.9 服務(wù)對(duì)象:Service 290
8.2.10 數(shù)據(jù)卷資源:Volume 293
8.2.11 數(shù)據(jù)持久化:Persistent
Volume 299
8.2.12 命名空間:Namespace 304
8.2.13 注釋:Annotation 304
8.3 Kubernetes部署 305
8.3.1 使用Minikube安裝Kubernetes 305
8.3.2 使用Kubeadm安裝Kubernetes 307
8.4 Kubernetes命令行詳解 309
8.4.1 基本命令(初級(jí)) 310
8.4.2 基本命令(中級(jí)) 318
8.4.3 部署命令 320
8.4.4 集群管理命令 323
8.4.5 故障排除與調(diào)試命令 326
8.4.6 高級(jí)命令 329
8.4.7 設(shè)置命令 330
8.4.8 其他命令 332
8.4.9 kubectl全局選項(xiàng) 334
8.5 本章小結(jié) 335
第9章 Kubernetes運(yùn)維實(shí)踐 336
9.1 Pod詳解 337
9.1.1 Pod配置詳解 337
9.1.2 Pod生命周期 340
9.1.3 共享Volume 343
9.1.4 Pod配置管理 343
9.1.5 Pod健康檢查 346
9.1.6 Pod擴(kuò)容和縮容 348
9.2 Service詳解 349
9.2.1 Service的定義 349
9.2.2 Service的創(chuàng)建 350
9.2.3 集群外部訪問 351
9.2.4 Ingress負(fù)載網(wǎng)絡(luò) 353
9.3 集群進(jìn)階 355
9.3.1 資源管理 355
9.3.2 kubelet垃圾回收機(jī)制 359
9.4 監(jiān)控與日志 359
9.4.1 原生監(jiān)控:Heapster 359
9.4.2 星火燎原:Prometheus 360
9.4.3 王牌組合:EFK 366
9.4.4 后起之秀:Filebeat 374
9.5 本章小結(jié) 376