注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計算機/網(wǎng)絡(luò)軟件工程及軟件方法學(xué)云原生Kubernetes全棧架構(gòu)師實戰(zhàn)

云原生Kubernetes全棧架構(gòu)師實戰(zhàn)

云原生Kubernetes全棧架構(gòu)師實戰(zhàn)

定 價:¥138.00

作 者: 杜寬 著
出版社: 清華大學(xué)出版社
叢編項:
標(biāo) 簽: 暫缺

ISBN: 9787302603887 出版時間: 2022-04-01 包裝: 平裝
開本: 16開 頁數(shù): 492 字?jǐn)?shù):  

內(nèi)容簡介

  本書以一個Kubernetes工程師的視角,全面系統(tǒng)地介紹Kubernetes常見的知識點、企業(yè)應(yīng)用實踐及運維管理方法。本書共分18章,第1、2章介紹如何快速搭建高可用的Kubernetes集群;第3~7章介紹Docker的基礎(chǔ)和鏡像的制作優(yōu)化,以及Kubernetes的基礎(chǔ)概念(Master、Node和Pod)、核心調(diào)度資源(Deployment、StatefulSet、DaemonSet、CronJob)、服務(wù)發(fā)布(Service和Ingress)和配置管理(ConfigMap和Secret)。第8~11章主要介紹Kubernetes的持久化存儲、動態(tài)存儲、CSI、高級調(diào)度(容忍、污點和親和力)、服務(wù)質(zhì)量、權(quán)限管理、Kubernetes資源配額管理。第12、13章主要介紹云原生存儲、中間件容器化、Operator和Helm的使用。第14~16章主要介紹針對Kubernetes的日志收集(EFK)、監(jiān)控告警(Prometheus和Grafana)、生產(chǎn)級服務(wù)發(fā)布Ingress的使用。第17章主要介紹基于Kubernetes、Jenkins、Harbor、GitLab等工具建設(shè)生產(chǎn)級的DevOps平臺,實現(xiàn)開發(fā)、測試、UAT、生產(chǎn)環(huán)境的流水線設(shè)計。第18章主要介紹服務(wù)網(wǎng)格Istio的使用,實現(xiàn)對Kubernetes內(nèi)部服務(wù)的細粒度流量管理。 本書從概念到實踐,從手工到自動化,內(nèi)容翔實且豐富,其中的范例與項目均在實踐中多次驗證,可直接用于生產(chǎn)環(huán)境。本書適合Kubernetes初學(xué)者、開發(fā)人員、運維人員、架構(gòu)師使用,也可以作為培訓(xùn)機構(gòu)和大專院校的教學(xué)用書。

作者簡介

  杜寬,Kubernetes實踐者,目前在某集團公司負責(zé)云原生相關(guān)工作,是Linux基金會開源軟件學(xué)園官方導(dǎo)師,專注于容器、K8s、服務(wù)網(wǎng)格、Serverless、DevOps、云原生等技

圖書目錄

第1篇 安 裝 篇
第1章 Kubeadm安裝高可用K8s集群 2
1.1 基本環(huán)境配置 2
1.2 內(nèi)核配置 5
1.3 K8s組件和Runtime安裝 7
1.3.1 Containerd作為Runtime 7
1.3.2 Docker作為Runtime 9
1.3.3 安裝Kubernetes組件 9
1.4 高可用組件安裝 10
1.5 集群初始化 14
1.6 Master實現(xiàn)高可用 17
1.7 Node節(jié)點的配置 17
1.8 Token過期處理 18
1.9 Calico組件的安裝 18
1.10 Metrics部署 19
1.11 Dashboard部署 20
1.11.1 安裝Dashboard 20
1.11.2 登錄Dashboard 21
1.12 注意事項 23
1.13 小結(jié) 24
第2章 二進制安裝高可用K8s集群 25
2.1 基本環(huán)境配置 25
2.2 內(nèi)核配置 28
2.3 基本組件安裝 30
2.3.1 Containerd作為Runtime 30
2.3.2 Docker作為Runtime 31
2.3.3 K8s及Etcd的安裝 32
2.4 生成證書 33
2.4.1 Etcd證書 33
2.4.2 K8s組件證書 34
2.5 高可用配置 37
2.6 Etcd集群配置 38
2.6.1 創(chuàng)建Etcd的配置文件 38
2.6.2 創(chuàng)建Service 38
2.7 K8s Master節(jié)點配置 39
2.7.1 APIServer 39
2.7.2 Controller Manager 40
2.7.3 Scheduler 40
2.8 TLS Bootstrapping配置 41
2.9 Node節(jié)點配置 42
2.9.1 Kubelet配置 42
2.9.2 kube-proxy配置 44
2.10 安裝Calico 46
2.11 安裝CoreDNS 47
2.12 安裝Metrics Server 47
2.13 安裝Dashboard 47
2.14 小結(jié) 48
第2篇 基 礎(chǔ) 篇
第3章 Docker基礎(chǔ) 50
3.1 Docker介紹 50
3.2 Docker安裝 51
3.3 Docker基本命令 51
3.4 Dockerfile的編寫 57
3.5 鏡像大小優(yōu)化 61
3.6 多階段構(gòu)建 63
3.7 小結(jié) 65
第4章 Kubernetes的基礎(chǔ)概念 66
4.1 為什么要用Kubernetes 66
4.1.1 對于開發(fā)人員 67
4.1.2 對于運維人員 67
4.2 Kubernetes帶來的挑戰(zhàn) 68
4.3 Kubernetes架構(gòu)解析 69
4.4 Master節(jié)點 70
4.5 Node節(jié)點 71
4.6 Pod的概念 72
4.6.1 什么是Pod 72
4.6.2 Pod探針 74
4.6.3 Pod鏡像拉取策略和重啟策略 75
4.6.4 創(chuàng)建一個Pod 75
4.7 小結(jié) 78
第5章 Kubernetes調(diào)度基礎(chǔ) 79
5.1 Replication Controller和ReplicaSet 79
5.1.1 Replication Controller 79
5.1.2 ReplicaSet 80
5.2 無狀態(tài)應(yīng)用管理Deployment 81
5.2.1 創(chuàng)建Deployment 82
5.2.2 更新Deployment 84
5.2.3 回滾Deployment 85
5.2.4 擴容Deployment 86
5.2.5 暫停和恢復(fù)Deployment更新 87
5.2.6 更新Deployment的注意事項 88
5.3 有狀態(tài)應(yīng)用管理StatefulSet 89
5.3.1 StatefulSet的基本概念 89
5.3.2 StatefulSet的注意事項 90
5.3.3 定義一個StatefulSet資源文件 90
5.3.4 創(chuàng)建StatefulSet 92
5.3.5 StatefulSet創(chuàng)建Pod的流程 92
5.3.6 StatefulSet擴容和縮容 93
5.3.7 StatefulSet更新策略 94
5.3.8 刪除StatefulSet 96
5.4 守護進程集DaemonSet 97
5.4.1 什么是DaemonSet 97
5.4.2 定義一個DaemonSet 98
5.4.3 創(chuàng)建DaemonSet 100
5.4.4 更新和回滾DaemonSet 101
5.5 CronJob 102
5.5.1 創(chuàng)建CronJob 102
5.5.2 可用參數(shù)的配置 103
5.6 小結(jié) 105
第6章 Kubernetes服務(wù)發(fā)布基礎(chǔ) 106
6.1 標(biāo)簽和選擇器 106
6.1.1 定義標(biāo)簽 107
6.1.2 選擇器 108
6.1.3 修改標(biāo)簽 109
6.1.4 刪除標(biāo)簽 109
6.2 Service 110
6.2.1 Service的基本概念 110
6.2.2 定義Service 111
6.2.3 無選擇器的Service和Endpoint 111
6.2.4 ExternalName Service 113
6.2.5 Service代理模式 113
6.2.6 多端口Service 114
6.2.7 Service的類型 115
6.2.8 Kubernetes服務(wù)發(fā)現(xiàn) 116
6.3 Ingress 118
6.3.1 基本概念 118
6.3.2 創(chuàng)建一個Ingress 119
6.3.3 Ingress使用入門 121
6.3.4 更新Ingress 123
6.4 小結(jié) 123
第7章 Kubernetes配置管理 124
7.1 什么是ConfigMap 124
7.2 創(chuàng)建ConfigMap 125
7.2.1 基于目錄創(chuàng)建ConfigMap 125
7.2.2 基于文件創(chuàng)建ConfigMap 126
7.2.3 基于ENV文件創(chuàng)建ConfigMap 127
7.2.4 基于字符值創(chuàng)建ConfigMap 128
7.3 ConfigMap實踐 128
7.3.1 使用valueFrom定義容器環(huán)境變量 128
7.3.2 使用envFrom定義容器的環(huán)境變量 130
7.3.3 以文件形式掛載ConfigMap 131
7.3.4 自定義文件名掛載ConfigMap 132
7.3.5 指定掛載的文件權(quán)限 132
7.4 ConfigMap限制 133
7.5 加密數(shù)據(jù)管理Secret 134
7.5.1 創(chuàng)建Secret 134
7.5.2 解碼Secret 135
7.6 Secret實踐 136
7.6.1 以文件形式掛載Secret 136
7.6.2 自定義文件名掛載 137
7.6.3 Secret作為環(huán)境變量 138
7.6.4 Secret文件權(quán)限 138
7.7 常用的Secret類型 139
7.7.1 Docker鏡像倉庫Secret 139
7.7.2 HTTPS證書類型的Secret 140
7.8 SubPath解決掛載覆蓋問題 141
7.9 ConfigMap和Secret熱更新 141
7.10 小結(jié) 143
第3 篇 進 階 篇
第8章 Kubernetes存儲入門 146
8.1 Volume的概念 146
8.2 Volume的類型 147
8.3 示例1:通過emptyDir共享數(shù)據(jù) 148
8.4 示例2:使用HostPath掛載宿主機文件 149
8.5 示例3:掛載NFS至容器 150
8.6 PersistentVolume 151
8.6.1 PV回收策略 152
8.6.2 PV訪問策略 152
8.6.3 基于NFS的PV 153
8.6.4 基于HostPath的PV 154
8.6.5 基于Ceph RBD的PV 154
8.6.6 PV的狀態(tài) 155
8.7 PersistentVolumeClaim 155
8.7.1 PVC的創(chuàng)建 156
8.7.2 PVC的使用 157
8.8 動態(tài)存儲StorageClass 158
8.8.1 定義StorageClass 158
8.8.2 整合StorageClass和Ceph RBD 159
8.9 存儲的未來:CSI 162
8.9.1 通過CSI連接CephFS 163
8.9.2 通過CSI連接Ceph RBD 169
8.10 小結(jié) 173
第9章 Kubernetes高級調(diào)度 174
9.1 初始化容器InitContainer 174
9.1.1 InitContainer的基本概念 174
9.1.2 示例1:等待依賴服務(wù)啟動 175
9.1.3 示例2:服務(wù)注冊 176
9.1.4 示例3:克隆Git代碼到容器中 176
9.1.5 示例4:多個初始化容器使用 177
9.2 臨時容器Ephemeral Containers 178
9.2.1 臨時容器的概念 178
9.2.2 開啟臨時容器功能 178
9.2.3 臨時容器的使用 179
9.3 自動擴縮容HPA 182
9.3.1 什么是HPA 182
9.3.2 HPA實踐——實現(xiàn)Web服務(wù)器的自動伸縮特性 182
9.4 Taint和Toleration 184
9.4.1 容忍和污點的基本概念 184
9.4.2 使用案例 187
9.4.3 基于Taint的驅(qū)逐 187
9.5 Affinity親和力 189
9.5.1 Affinity的分類 189
9.5.2 Node Affinity 190
9.5.3 PodAffinity和PodAntiAffinity 191
9.5.4 示例1:同一個應(yīng)用部署在不同的宿主機 193
9.5.5 示例2:同一個應(yīng)用不同副本的固定節(jié)點 194
9.5.6 示例3:應(yīng)用和緩存盡量部署在同一個域內(nèi) 195
9.6 小結(jié) 196
第10章 Kubernetes資源管理 197
10.1 ResourceQuota 197
10.2 LimitRange 201
10.3 QoS 204
10.4 小結(jié) 208
第11章 Kubernetes安全入門 209
11.1 權(quán)限管理RBAC 209
11.2 Network Policy 221
11.3 小結(jié) 231
第4篇 高 級 篇
第12章 云原生存儲Rook 234
12.1 Rook的安裝 235
12.2 一鍵部署Ceph集群 236
12.3 安裝Snapshot控制器 237
12.4 安裝Ceph客戶端工具和Dashboard 238
12.5 Ceph塊存儲的使用 240
12.6 共享型文件系統(tǒng)的使用 245
12.7 PVC擴容 247
12.8 PVC快照 249
12.9 PVC克隆 253
12.10 測試數(shù)據(jù)清理 254
12.11 小結(jié) 255
第13章 中間件容器化 256
13.1 傳統(tǒng)架構(gòu)如何管理中間件集群 256
13.2 Kubernetes如何管理中間件集群 257
13.3 Operator的使用 259
13.4 Helm的使用 265
13.5 小結(jié) 273
第5篇 運 維 篇
第14章 Kubernetes日志收集 276
14.1 有哪些日志需要收集 276
14.2 日志采集工具有哪些 276
14.3 使用EFK收集控制臺日志 278
14.4 使用Filebeat收集自定義文件日志 283
14.5 Loki初體驗 287
14.6 小結(jié) 292
第15章 Kubernetes監(jiān)控告警 293
15.1 Prometheus的架構(gòu)介紹 293
15.2 Prometheus的安裝 295
15.3 云原生和非云原生應(yīng)用的監(jiān)控流程 298
15.4 黑盒監(jiān)控 315
15.5 Prometheus靜態(tài)配置 315
15.6 Prometheus監(jiān)控Windows(外部)主機 318
15.7 Prometheus語法PromQL入門 319
15.8 Alertmanager告警入門 329
15.9 Prometheus告警實戰(zhàn) 343
15.10 小結(jié) 347
第16章 服務(wù)發(fā)布Ingress進階 348
16.1 安裝Ingress Nginx Controller 349
16.2 Ingress Nginx入門 350
16.3 Ingress Nginx域名重定向Redirect 352
16.4 Ingress Nginx前后端分離Rewrite 353
16.5 Ingress Nginx錯誤代碼重定向 354
16.6 Ingress Nginx SSL 355
16.7 Ingress Nginx匹配請求頭 357
16.8 Ingress Nginx基本認(rèn)證 359
16.9 Ingress Nginx黑/白名單 360
16.10 Ingress Nginx速率限制 362
16.11 使用Nginx實現(xiàn)灰度/金絲雀發(fā)布 363
16.12 環(huán)境清理 365
16.13 小結(jié) 366
第6篇 DevOps篇
第17章 DevOps實踐 368
17.1 CI/CD介紹 368
17.1.1 持續(xù)集成(CI) 368
17.1.2 持續(xù)交付(CD) 369
17.1.3 持續(xù)部署(CD) 369
17.1.4 CI和CD的區(qū)別 369
17.2 Jenkins流水線介紹 370
17.2.1 什么是流水線 370
17.2.2 聲明式流水線 371
17.2.3 腳本化流水線 373
17.3 聲明式流水線的語法 374
17.3.1 sections 374
17.3.2 directives 382
17.3.3 parallel 392
17.4 Jenkinsfile的使用 394
17.5 DevOps平臺建設(shè) 405
17.6 自動化構(gòu)建Java應(yīng)用 425
17.7 自動化構(gòu)建Vue/H5前端應(yīng)用 441
17.8 自動化構(gòu)建Golang項目 446
17.9 自動觸發(fā)構(gòu)建 448
17.10 UAT及生產(chǎn)環(huán)境流水線設(shè)計 452
17.11 小結(jié) 456
第7篇 拓 展 篇
第18章 服務(wù)網(wǎng)格 458
18.1 服務(wù)網(wǎng)格概述 458
18.2 Istio的基本概念 4
18.3 Istio的核心資源 463
18.4 安裝Istio 468
18.5 Istio流量治理實踐 474
18.6 小結(jié) 492

本目錄推薦

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