注冊(cè) | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)操作系統(tǒng)Docker與Kubernetes容器運(yùn)維實(shí)戰(zhàn)

Docker與Kubernetes容器運(yùn)維實(shí)戰(zhàn)

Docker與Kubernetes容器運(yùn)維實(shí)戰(zhàn)

定 價(jià):¥79.80

作 者: 王啟明 肖志健
出版社: 清華大學(xué)出版社
叢編項(xiàng):
標(biāo) 簽: 暫缺

ISBN: 9787302644354 出版時(shí)間: 2023-09-01 包裝: 平裝-膠訂
開本: 16開 頁數(shù): 字?jǐn)?shù):  

內(nèi)容簡介

  隨著云計(jì)算和容器技術(shù)的發(fā)展,Docker與Kubernetes已經(jīng)成為各個(gè)企業(yè)首選的部署工具,使用它們可以提高系統(tǒng)的部署效率和運(yùn)維能力,降低運(yùn)維成本。本書是一本為初學(xué)者量身定制的Docker與Kubernetes容器技術(shù)入門書,要求讀者具有Linux基礎(chǔ)。本書共22章,第1~11章主要內(nèi)容包括全面認(rèn)識(shí)Docker、初步體驗(yàn)Docker、Docker基本管理、Docker倉庫、Docker數(shù)據(jù)管理、Dockerfile、Docker日志、Docker Compose、Docker Swarm、Docker Portainer、Docker 實(shí)戰(zhàn)應(yīng)用;第12~22章主要內(nèi)容包括Kubernetes初步入門、安裝Kubernetes、Kubernetes命令行工具、運(yùn)行應(yīng)用、通過服務(wù)訪問應(yīng)用、存儲(chǔ)管理、Kubernetes軟件包管理、Kubernetes網(wǎng)絡(luò)管理、Kubernetes Dashboard、Kubernetes安全、Kubernetes集群管理。本書內(nèi)容詳盡、示例豐富,是廣大Docker與Kubernetes入門讀者的參考書,同時(shí)也非常適合作為高等院?;蚋呗?、高專計(jì)算機(jī)及相關(guān)專業(yè)的教材使用。

作者簡介

  王啟明,平頂山學(xué)院副教授,鄭州大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)士,西安電子科技大學(xué)計(jì)算機(jī)技術(shù)碩士。本人主要從事人工智能、智能物聯(lián)網(wǎng)、計(jì)算機(jī)視覺等方面的研究。著有《Python 3.7網(wǎng)絡(luò)爬蟲快速入門》《Python 3.6零基礎(chǔ)入門與實(shí)戰(zhàn)》。肖志健,南京理工大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)士。2011年開始專注于Linux,從事過一線研發(fā)工程師、大學(xué)講師、創(chuàng)業(yè)公司產(chǎn)品與技術(shù)總監(jiān)等工作。目前專注于Linux研發(fā)和團(tuán)隊(duì)管理。著有《Red Hat Enterprise Linux 9系統(tǒng)管理實(shí)戰(zhàn)》。

圖書目錄

目    錄
 
第1章  全面認(rèn)識(shí)Docker 1
1.1  容器技術(shù) 1
1.1.1  什么是容器 2
1.1.2  容器與虛擬機(jī)之間的區(qū)別 3
1.1.3  容器究竟解決了什么問題 4
1.1.4  容器的優(yōu)點(diǎn) 5
1.1.5  容器的缺點(diǎn) 5
1.1.6  容器的分類 6
1.2  Docker技術(shù) 7
1.2.1  什么是Docker 7
1.2.2  Docker的由來 8
1.2.3  Docker究竟是什么 8
1.3  Docker的架構(gòu)與組成 9
1.3.1  Docker的架構(gòu) 9
1.3.2  Docker中應(yīng)用系統(tǒng)的存在
形式 11
1.4  為什么使用Docker 11
1.4.1  Docker的應(yīng)用場(chǎng)景 11
1.4.2  Docker可以解決哪些問題 12
1.4.3  Docker的應(yīng)用成本 12
1.5  Docker和Podman 12
1.5.1  Podman 13
1.5.2  Docker和Podman的比較 13
第2章  初步體驗(yàn)Docker 15
2.1  在Windows中安裝Docker 15
2.1.1  通過Boot2Docker
體驗(yàn)Docker 15
2.1.2  通過Docker Desktop
體驗(yàn)Docker 21
2.1.3  搭建第一個(gè)Docker應(yīng)用:
Hello world 28
2.2  在Ubuntu中安裝Docker 30
2.2.1  通過Ubuntu倉庫
安裝Docker 30
2.2.2  通過Docker倉庫
安裝Docker 32
2.2.3  通過軟件包安裝Docker 33
2.2.4  測(cè)試安裝的結(jié)果 33
第3章  Docker基本管理 35
3.1  鏡像管理 35
3.1.1  查找鏡像 35
3.1.2  下載鏡像 36
3.1.3  列出本地鏡像 37
3.1.4  刪除鏡像 37
3.1.5  查看鏡像 37
3.1.6  構(gòu)建鏡像 40
3.1.7  鏡像標(biāo)簽管理 42
3.2  容器管理 43
3.2.1  創(chuàng)建容器 43
3.2.2  查看容器 45
3.2.3  啟動(dòng)容器 46
3.2.4  停止容器 46
3.2.5  刪除容器 47
3.3  網(wǎng)絡(luò)管理 47
3.3.1  Docker網(wǎng)絡(luò)原理 47
3.3.2  網(wǎng)絡(luò)模式 49
3.3.3  Docker容器的互聯(lián) 50
3.3.4  容器與外部網(wǎng)絡(luò)的互聯(lián) 52
第4章  Docker的倉庫 54
4.1  公共鏡像市場(chǎng) 54
4.1.1  什么是Docker Hub 54
4.1.2  Docker Hub的特點(diǎn) 54
4.1.3  使用Docker Hub 55
4.2  第三方鏡像市場(chǎng) 57
4.2.1  公有鏡像中心(加速器) 57
4.2.2  私有鏡像中心 58
4.3  私有倉庫 59
4.3.1  創(chuàng)建私有倉庫 59
4.3.2  使用私有倉庫 60
第5章  Docker數(shù)據(jù)管理 63
5.1  數(shù)據(jù)卷 63
5.1.1  什么是數(shù)據(jù)卷 63
5.1.2  創(chuàng)建數(shù)據(jù)卷 64
5.1.3  不同類型的數(shù)據(jù)卷 64
5.2  數(shù)據(jù)卷容器 67
5.2.1  新建數(shù)據(jù)卷容器 67
5.2.2  共享數(shù)據(jù)卷容器 67
5.3  數(shù)據(jù)遷移 67
5.3.1  備份 68
5.3.2  恢復(fù) 68
第6章  Dockerfile 69
6.1  文件結(jié)構(gòu)說明 69
6.1.1  Dockfile的簡單格式 69
6.1.2  提示解釋器 70
6.1.3  環(huán)境變量替換 71
6.2  指令簡介 71
6.2.1  FROM 72
6.2.2  ARG 72
6.2.3  RUN 73
6.2.4  CMD 77
6.2.5  LABEL 78
6.2.6  EXPOSE 79
6.2.7  ENV 79
6.2.8  ADD 80
6.2.9  COPY 81
6.2.10  ENTRYPOINT 81
6.2.11  VOLUME 86
6.2.12  USER 87
6.2.13  WORKDIR 87
6.2.14  ONBUILD 88
6.2.15  STOPSIGNAL 89
6.2.16  HEALTHCHECK 89
6.2.17  SHELL 90
6.3  創(chuàng)建鏡像 92
6.3.1  命令詳解 92
6.3.2  .dockerignore文件 92
6.3.3  最佳實(shí)踐 93
第7章  Docker日志 98
7.1  docker logs 98
7.2  logging driver 99
7.3  ELK 100
7.3.1  概述 101
7.3.2  安裝ELK 101
7.3.3  Filebeat配置 103
7.3.4  Kibana配置 105
第8章  Docker Compose 107
8.1  簡介 107
8.1.1  主要功能 108
8.1.2  常見用例 108
8.2  安裝Compose 109
8.2.1  Docker Desktop 109
8.2.2  安裝Compose Plugin 109
8.2.3  獨(dú)立安裝Compose 110
8.3  使用Compose部署 110
8.3.1  先決條件 111
8.3.2  步驟1:定義應(yīng)用程序
依賴項(xiàng) 111
8.3.3  步驟2:創(chuàng)建Dockerfile 112
8.3.4  步驟3:在撰寫文件中定義
服務(wù) 112
8.3.5  步驟4:使用Compose生成并
運(yùn)行應(yīng)用 113
8.3.6  步驟5:編輯Compose文件以
添加Volume 114
8.3.7  步驟6:使用Compose重新
生成并運(yùn)行應(yīng)用 114
8.3.8  步驟7:更新應(yīng)用程序 115
8.3.9  步驟8:嘗試使用其他命令 115
8.4  使用Compose命令 116
第9章  Docker Swarm 118
9.1  基本概念 118
9.1.1  簡介 118
9.1.2  關(guān)鍵概念 120
9.2  使用Swarm 121
9.2.1  創(chuàng)建Swarm 121
9.2.2  添加Swarm節(jié)點(diǎn) 122
9.3  使用服務(wù)命令 123
9.3.1  部署一個(gè)服務(wù) 123
9.3.2  查看服務(wù) 124
9.3.3  擴(kuò)展服務(wù) 124
9.3.4  刪除服務(wù) 125
9.3.5  應(yīng)用滾動(dòng)更新 126
第10章  Docker Portainer 129
10.1  簡介 129
10.2  安裝 130
10.3  常規(guī)操作 132
10.3.1  App模板 132
10.3.2  鏡像操作 133
10.3.3  容器操作 134
10.3.4  添加Docker鏡像倉庫 136
第11章  Docker實(shí)戰(zhàn)應(yīng)用 138
11.1  OS Docker 138
11.1.1  BusyBox 138
11.1.2  Alphine 139
11.1.3  Ubuntu 139
11.1.4  CentOS 139
11.2  Web服務(wù)應(yīng)用 140
11.2.1  Apache 140
11.2.2  Nginx 140
11.3  數(shù)據(jù)庫應(yīng)用 141
 
11.3.1  MySQL 141
11.3.2  Redis 142
11.3.3  MongoDB 142
11.4  編程應(yīng)用 143
11.4.1  Java 143
11.4.2  Python 143
第12章  Kubernetes初步入門 145
12.1  Kubernetes技術(shù) 145
12.1.1  什么是Kubernetes 145
12.1.2  Kubernetes的發(fā)展歷史 145
12.1.3  為什么使用Kubernetes 146
12.2  Kubernetes的重要概念 147
12.2.1  Cluster(集群) 147
12.2.2  Master(控制節(jié)點(diǎn)) 147
12.2.3  Node(工作節(jié)點(diǎn)) 148
12.2.4  Pod 149
12.2.5  服務(wù) 149
12.2.6  卷 150
12.2.7  命名空間 150
第13章  安裝Kubernetes 151
13.1  通過軟件包管理工具安裝
Kubernetes 151
13.1.1  軟件包管理工具 151
13.1.2  節(jié)點(diǎn)規(guī)劃 152
13.1.3  安裝前準(zhǔn)備 153
13.1.4  Etcd集群配置 153
13.1.5  Master節(jié)點(diǎn)的配置 158
13.1.6  Node節(jié)點(diǎn)的配置 160
13.1.7  配置網(wǎng)絡(luò) 162
13.2  Kubeadm的使用方法 163
13.2.1  Kubeadm的安裝方法 164
13.2.2  Kubeadm的基本語法 165
13.2.3  基礎(chǔ)OS環(huán)境部署 165
13.2.4  部署Master節(jié)點(diǎn) 167
13.2.5  部署Node節(jié)點(diǎn) 167
13.2.6  部署CNI網(wǎng)絡(luò) 168
13.2.7  重置節(jié)點(diǎn) 168
 
第14章  Kubernetes命令行工具 169
14.1  kubectl用法概述 169
14.2  kubectl的子命令 171
14.3  Kubernetes資源對(duì)象類型 173
14.4  kubectl的輸出格式 173
14.5  kubectl命令舉例 174
第15章  運(yùn)行應(yīng)用 178
15.1  Deployment 178
15.1.1  什么是Deployment 178
15.1.2  Deployment與ReplicaSet 179
15.1.3  運(yùn)行Deployment 179
15.1.4  使用配置文件 185
15.1.5  擴(kuò)容和縮容 189
15.1.6  故障轉(zhuǎn)移 191
15.1.7  通過標(biāo)簽控制Pod的位置 193
15.1.8  刪除Deployment 195
15.1.9  DaemonSet 195
15.2  Job 197
15.2.1  什么是Job 197
15.2.2  Job失敗處理 199
15.2.3  Job的并行執(zhí)行 200
15.2.4  Job的定時(shí)執(zhí)行 201
第16章  通過服務(wù)訪問應(yīng)用 203
16.1  服務(wù)及其功能 203
16.1.1  服務(wù)的基本概念 203
16.1.2  服務(wù)的功能原理 204
16.2  管理服務(wù) 205
16.2.1  創(chuàng)建服務(wù) 205
16.2.2  查看服務(wù) 207
16.2.3  刪除服務(wù) 208
16.3  外部網(wǎng)絡(luò)訪問服務(wù) 209
16.3.1  kube-proxy結(jié)合ClusterIP 209
16.3.2  通過NodePort訪問服務(wù) 210
16.3.3  通過負(fù)載均衡訪問服務(wù) 212
16.4  通過CoreDNS訪問應(yīng)用 212
16.4.1  CoreDNS簡介 213
16.4.2  安裝CoreDNS 213
第17章  存儲(chǔ)管理 220
17.1  存儲(chǔ)卷 220
17.1.1  什么是存儲(chǔ)卷 220
17.1.2  emptyDir卷 221
17.1.3  hostPath卷 224
17.1.4  NFS卷 224
17.1.5  Secret卷 225
17.1.6  iSCSI卷 228
17.2  持久化存儲(chǔ)卷 229
17.2.1  什么是持久化存儲(chǔ)卷 229
17.2.2  持久化存儲(chǔ)卷請(qǐng)求 229
17.2.3  持久化存儲(chǔ)卷的生命周期 230
17.2.4  持久化存儲(chǔ)卷靜態(tài)綁定 231
17.2.5  持久化存儲(chǔ)卷動(dòng)態(tài)綁定 234
17.2.6  回收 238
第18章  Kubernetes軟件包管理 241
18.1  Helm 241
18.1.1  Helm相關(guān)概念 241
18.1.2  Tiller 242
18.1.3  Chart 242
18.1.4  Repository 242
18.1.5  Release 243
18.2  安裝Helm 243
18.2.1  安裝客戶端 243
18.2.2  安裝服務(wù)器端Tiller 245
18.3  Chart文件結(jié)構(gòu) 247
18.4  使用Helm 247
18.4.1  軟件倉庫的管理 248
18.4.2  查找Chart 248
18.4.3  安裝Chart 250
18.4.4  查看已安裝的Chart 252
18.4.5  刪除Release 253
第19章  Kubernetes網(wǎng)絡(luò)管理 254
19.1  Kubernetes網(wǎng)絡(luò)基礎(chǔ) 254
19.1.1  Kubernetes網(wǎng)絡(luò)模型 254
19.1.2  命名空間 255
19.1.3  veth網(wǎng)絡(luò)接口 255
19.1.4  netfilter/iptables 256
19.1.5  網(wǎng)橋 256
19.1.6  路由 256
19.2  Kubernetes網(wǎng)絡(luò)實(shí)現(xiàn) 257
19.2.1  Docker與Kubernetes網(wǎng)絡(luò)比較 257
19.2.2  容器之間的通信 261
19.2.3  Pod之間的通信 262
19.2.4  Pod和服務(wù)之間的通信 265
19.3  Flannel 272
19.3.1  Flannel簡介 272
19.3.2  安裝Flannel 273
第20章  Kubernetes Dashboard 278
20.1  Kubernetes Dashboard配置文件 278
20.1.1  Kubernetes角色控制 278
20.1.2  kubernetes-dashboard.yaml 279
20.2  安裝Kubernetes Dashboard 284
20.2.1  官方安裝方法 284
20.2.2  自定義安裝方法 284
20.3  Dashboard的使用方法 287
20.3.1  Dashboard概況 287
20.3.2  通過Dashboard創(chuàng)建資源 289
第21章  Kubernetes安全 290
21.1  在集群級(jí)別應(yīng)用Pod安全標(biāo)準(zhǔn) 290
21.1.1  正確選擇要應(yīng)用的Pod安全標(biāo)準(zhǔn) 290
21.1.2  設(shè)置模式、版本和標(biāo)準(zhǔn) 292
21.1.3  清理 295
21.2  在命名空間級(jí)別應(yīng)用Pod 295
21.2.1  創(chuàng)建集群 295
21.2.2  為命名空間啟用Pod安全標(biāo)準(zhǔn)檢查 296
21.2.3  驗(yàn)證Pod安全標(biāo)準(zhǔn) 296
21.2.4  清理 297
21.3  使用AppArmor限制容器對(duì)資源的訪問 297
21.3.1  環(huán)境準(zhǔn)備 297
21.3.2  保護(hù)Pod 298
21.4  使用Seccomp限制容器對(duì)資源的訪問 299
21.4.1  下載Seccomp配置文件示例 299
21.4.2  使用Kind創(chuàng)建本地Kubernetes集群 299
21.4.3  使用RuntimeDefault做負(fù)載均衡 300
21.4.4  創(chuàng)建使用容器運(yùn)行時(shí)默認(rèn)Seccomp配置文件的Pod 302
21.4.5  使用Seccomp配置文件創(chuàng)建
Pod以進(jìn)行系統(tǒng)調(diào)用審計(jì) 302
第22章  Kubernetes集群管理 305
22.1  資源管理 305
22.1.1  組織資源配置 305
22.1.2  kubectl中的批量操作 306
22.1.3  有效地使用標(biāo)簽 308
22.1.4  多標(biāo)簽部署 309
22.1.5  更新標(biāo)簽 310
22.1.6  更新注解 310
22.1.7  擴(kuò)展應(yīng)用 310
22.1.8  就地更新資源 311
22.1.9  破壞性地更新 312
22.1.10  在不中斷服務(wù)的情況下更新應(yīng)用 312
22.2  日志架構(gòu) 312
22.2.1  Pod和容器日志 313
22.2.2  集群日志架構(gòu) 314
22.3  系統(tǒng)組件指標(biāo) 320
22.3.1  Kubernetes中組件的指標(biāo) 320
22.3.2  指標(biāo)生命周期 321
22.3.3  顯示隱藏指標(biāo) 321
22.3.4  禁用加速器指標(biāo) 322
22.3.5  組件指標(biāo) 322
22.4  系統(tǒng)日志 323
22.4.1  KLog 323
22.4.2  KLog輸出 324
寫在最后 325

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號(hào) 鄂公網(wǎng)安備 42010302001612號(hào)