注冊(cè) | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁(yè)出版圖書科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)軟件與程序設(shè)計(jì)Kubernetes從入門到DevOps企業(yè)應(yīng)用實(shí)戰(zhàn)

Kubernetes從入門到DevOps企業(yè)應(yīng)用實(shí)戰(zhàn)

Kubernetes從入門到DevOps企業(yè)應(yīng)用實(shí)戰(zhàn)

定 價(jià):¥128.00

作 者: 韓先超
出版社: 清華大學(xué)出版社
叢編項(xiàng):
標(biāo) 簽: 暫缺

購(gòu)買這本書可以去


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

內(nèi)容簡(jiǎn)介

  《Kubernetes從入門到DevOps企業(yè)應(yīng)用實(shí)戰(zhàn)》以實(shí)戰(zhàn)為主,內(nèi)容涵蓋容器技術(shù)、Kubernetes核心資源以及基于Kubernetes的企業(yè)級(jí)實(shí)踐。從容器基礎(chǔ)知識(shí)開始,由淺入深,闡述Kubernetes各個(gè)方面的知識(shí),并提供大量實(shí)際項(xiàng)目和應(yīng)用場(chǎng)景。全書共20章,第1~3章講解容器技術(shù),這是理解Kubernetes的必要基礎(chǔ),主要介紹容器的定義、創(chuàng)建和管理容器、容器網(wǎng)絡(luò)和存儲(chǔ)等方面的知識(shí)。第4章講解如何使用Kubeadm和二進(jìn)制文件安裝高可用Kubernetes集群。第5~12章講解Kubernetes的核心資源,包括Pod、Deployment、Service、Ingress等資源的定義、使用和管理方法,以及實(shí)際應(yīng)用場(chǎng)景。第13~20章講解基于Kubernetes的企業(yè)實(shí)踐,介紹如何使用Kubernetes解決實(shí)際問題,包括使用Kubernetes進(jìn)行應(yīng)用程序的部署、容器云平臺(tái)的構(gòu)建、流量治理、監(jiān)控、自動(dòng)化擴(kuò)縮容和灰度發(fā)布等項(xiàng)目與案例。 《Kubernetes從入門到DevOps企業(yè)應(yīng)用實(shí)戰(zhàn)》基于Kubernetes 1.27新版本編寫(本書的內(nèi)容也適合1.20之后的所有版本),從零基礎(chǔ)開始,涵蓋理論知識(shí)、企業(yè)級(jí)案例,以及自動(dòng)化運(yùn)維DevOps體系和一些大廠架構(gòu)設(shè)計(jì)思路,適合云原生領(lǐng)域的從業(yè)者、Kubernetest初學(xué)者、運(yùn)維和開發(fā)人員使用,也可以作為企業(yè)內(nèi)訓(xùn)、培訓(xùn)機(jī)構(gòu)和大中專院校的教學(xué)用書。

作者簡(jiǎn)介

  韓先超高級(jí)運(yùn)維,Kubernetes架構(gòu)師,國(guó)內(nèi)最早一批Kubernetes布道者,曾就職于世界500強(qiáng)上市公司,擁有RHCE、RHCA、CKA等認(rèn)證證書,對(duì)于Linux、DevOps、Kubernetes和自動(dòng)化等領(lǐng)域有著深入的理解和實(shí)踐經(jīng)驗(yàn)。在 CSDN、51CTO等平臺(tái)發(fā)表過多篇Linux、DevOps、Kubernetes、自動(dòng)化等方面的文章,累計(jì)閱讀量突破100萬;在 51CTO平臺(tái)的Kubernetes課程擁有近200萬學(xué)員;推出的Kubernetes課程被選入工信部人才交流中心官方認(rèn)證課程 。在2021年5月28日由51CTO主辦,中關(guān)村數(shù)智人工智能產(chǎn)業(yè)聯(lián)盟指導(dǎo)的《數(shù)啟創(chuàng)新 云觸未來! Web3.0云響力新一 代云計(jì)算大會(huì)》中作為主講嘉賓分享Kubernetes如何助力企業(yè)轉(zhuǎn)型,被北京日?qǐng)?bào)和環(huán)球網(wǎng)發(fā)文專題報(bào)道;受Linux 基金會(huì)邀請(qǐng),作為主講嘉賓分享Kubernetes在企業(yè)中的發(fā)展趨勢(shì)和具體應(yīng)用場(chǎng)景;曾為國(guó)家電網(wǎng)、振興銀行、中 國(guó)移動(dòng)、中國(guó)電信,天翼物聯(lián)、任子行等大型企業(yè)提供Kubernetes技術(shù)培訓(xùn);還積極參與企業(yè)內(nèi)訓(xùn)項(xiàng)目,為各大 企業(yè)提供技術(shù)培訓(xùn)和解決方案支持。

圖書目錄

第1章  Docker初探 1
1.1  Docker概述 1
1.1.1  Docker是什么 1
1.1.2  Docker的版本 2
1.1.3  學(xué)習(xí)Docker的方式 2
1.2  Docker的組成與特點(diǎn) 2
1.2.1  Docker的組成 2
1.2.2  Docker的特點(diǎn) 4
1.3  安裝和配置Docker 5
1.3.1  配置主機(jī)名 5
1.3.2  關(guān)閉Firewalld防火墻 6
1.3.3  關(guān)閉SELinux 6
1.3.4  配置時(shí)間同步 7
1.3.5  編寫計(jì)劃任務(wù) 7
1.3.6  重啟crond服務(wù)使計(jì)劃任務(wù)生效 8
1.3.7  安裝基礎(chǔ)軟件包 8
1.3.8  安裝Docker-CE 9
1.3.9  修改內(nèi)核參數(shù) 11
1.3.10  配置Docker鏡像加速器 13
1.4  Docker鏡像與容器 14
1.4.1  Docker鏡像 14
1.4.2  Docker容器 17
1.5  案例:通過Docker部署Nginx服務(wù) 24
1.5.1  基于CentOS鏡像運(yùn)行一個(gè)Docker容器 24
1.5.2  查看Docker容器是否正常運(yùn)行 24
1.5.3  在Docker中安裝Nginx容器 25
1.5.4  在Docker容器中通過yum安裝Nginx 26
1.6  本章小結(jié) 28
第2章  Dockerfile構(gòu)建企業(yè)級(jí)鏡像 29
2.1  Dockerfile語(yǔ)法詳解 29
2.2  Dockerfile構(gòu)建企業(yè)級(jí)鏡像 43
2.2.1  案例:Dockerfile構(gòu)建Nginx鏡像 43
2.2.2  案例:Dockerfile構(gòu)建Tomcat鏡像 48
2.3  本章小結(jié) 50
第3章  Docker私有鏡像倉(cāng)庫(kù)Harbor 51
3.1  Harbor的概念及證書簽發(fā) 51
3.2  安裝Harbor 53
3.3  Harbor圖形界面使用說明 57
3.4  測(cè)試使用Harbor私有鏡像倉(cāng)庫(kù) 59
3.5  Harbor高可用 62
3.6  本章小結(jié) 63
第4章  Kubeadm快速搭建Kubernetes集群 64
4.1  初始化實(shí)驗(yàn)環(huán)境 65
4.1.1  配置靜態(tài)IP地址 67
4.1.2  配置機(jī)器主機(jī)名 68
4.1.3  配置主機(jī)hosts文件 68
4.1.4  配置控制節(jié)點(diǎn)到工作節(jié)點(diǎn)無密碼登錄 68
4.1.5  關(guān)閉交換分區(qū) 69
4.1.6  修改機(jī)器內(nèi)核參數(shù) 70
4.1.7  關(guān)閉Firewalld防火墻 72
4.1.8  關(guān)閉SELinux 72
4.1.9  配置安裝Docker和Containerd需要的阿里云的在線yum源 73
4.1.10  配置安裝Kubernetes組件需要的阿里云的在線yum源 74
4.1.11  配置時(shí)間同步 75
4.1.12  安裝Docker-CE和Containerd服務(wù) 76
4.2  安裝Kubernetes集群 80
4.2.1  安裝初始化Kubernetes集群需要的軟件包 80
4.2.2  Kubeadm初始化Kubernetes集群 81
4.2.3  配置Kubectl的配置文件config 83
4.3  擴(kuò)容Kubernetes集群 85
4.3.1  添加第一個(gè)工作節(jié)點(diǎn) 85
4.3.2  添加第二個(gè)工作節(jié)點(diǎn) 86
4.4  安裝Kubernetes網(wǎng)絡(luò)插件Calico 88
4.4.1  安裝Calico 88
4.4.2  Calico的配置 89
4.4.3  calico-kube-controllers解析 94
4.5  測(cè)試Kubernetes集群是否健康 95
4.5.1  測(cè)試在Kubernetes中創(chuàng)建的Pod是否可以正常訪問網(wǎng)絡(luò) 95
4.5.2  測(cè)試CoreDNS是否正常 96
4.5.3  延長(zhǎng)證書 96
4.6  本章小結(jié) 99
第5章  Kubernetes核心資源Pod 100
5.1  Pod是什么 100
5.1.1  Pod基本介紹 100
5.1.2  Pod如何管理多個(gè)容器 101
5.1.3  Pod網(wǎng)絡(luò) 102
5.1.4  Pod存儲(chǔ) 102
5.2  Pod的工作方式 103
5.2.1  自主式Pod 103
5.2.2  控制器管理的Pod 107
5.3  如何創(chuàng)建一個(gè)Pod資源 111
5.3.1  通過YAML文件創(chuàng)建Pod資源 112
5.3.2  Pod資源清單編寫技巧 113
5.3.3  創(chuàng)建一個(gè)完整的Pod資源 141
5.3.4  和Pod相關(guān)的命令解讀 144
5.4  nodeName和nodeSelector 146
5.4.1  nodeName實(shí)例 147
5.4.2  nodeSelector實(shí)例 148
5.5  親和性、污點(diǎn)和容忍度 149
5.5.1  節(jié)點(diǎn)親和性 149
5.5.2  Pod親和性和反親和性 154
5.5.3  污點(diǎn)和容忍度 160
5.6  Pod生命周期和健康探測(cè) 165
5.6.1  初始化容器initcontainer 166
5.6.2  存活探測(cè) 167
5.6.3  就緒探測(cè) 170
5.6.4  容器鉤子 172
5.7  本章小結(jié) 174
第6章  ReplicaSet和Deployment控制器管理Pod 175
6.1  ReplicaSet如何管理Pod 176
6.1.1  ReplicaSet概述 176
6.1.2  ReplicaSet資源清單文件的編寫技巧 176
6.2  ReplicaSet管理Pod案例:部署Guestbook留言板 178
6.3  ReplicaSet管理Pod實(shí)例:擴(kuò)容、縮容、更新 180
6.4  Deployment如何管理Pod 183
6.4.1  Deployment概述 183
6.4.2  Deployment如何管理ReplicaSet和Pod 184
6.5  Deployment資源清單文件的編寫技巧 185
6.5.1  查看Deployment資源對(duì)象YAML文件的組成 186
6.5.2  查看Deployment下的spec字段 186
6.6  Deployment管理Pod案例解析 188
6.7  Deployment管理Pod:擴(kuò)容和縮容 190
6.7.1  電商網(wǎng)站訪問量急增——擴(kuò)容Pod 190
6.7.2  電商網(wǎng)站淡季或業(yè)務(wù)低峰期——縮容Pod 191
6.8  基于Deployment實(shí)現(xiàn)Pod滾動(dòng)更新——WebApp應(yīng)用版本升級(jí) 192
6.9  本章小結(jié) 195
第7章  Service四層負(fù)載均衡 197
7.1  Service的概念與原理 197
7.1.1  Service基本介紹 197
7.1.2  Kubernetes集群中的3類IP地址 198
7.2  創(chuàng)建Service資源 200
7.2.1  創(chuàng)建Service資源的方法 200
7.2.2  案例:用YAML文件創(chuàng)建Service資源 200
7.2.3  查看定義Service資源需要的字段 202
7.2.4  Service的4種Type類型 203
7.2.5  Service的端口定義 206
7.2.6  創(chuàng)建Service:類型是ClusterIP 207
7.2.7  創(chuàng)建Service:類型是NodePort 209
7.2.8  創(chuàng)建Service:類型是ExternalName 212
7.3  本章小結(jié) 215
第8章  Kubernetes持久化存儲(chǔ) 216
8.1  Kubernetes支持的持久化存儲(chǔ)類型 216
8.1.1  Kubernetes持久化存儲(chǔ):emptyDir案例 218
8.1.2  Kubernetes持久化存儲(chǔ):hostPath案例 218
8.1.3  Kubernetes持久化存儲(chǔ):NFS案例 219
8.2  Kubernetes持久化存儲(chǔ):PV和PVC 221
8.2.1  PV和PVC概述 221
8.2.2  創(chuàng)建Pod,使用PVC作為持久化存儲(chǔ)卷 225
8.3  Kubernetes存儲(chǔ)類:StorageClass 228
8.4  本章小結(jié) 231
第9章  Kubernetes控制器:StatefulSet 232
9.1  StatefulSet控制器的概念和原理 233
9.1.1  為什么使用Headless Service 233
9.1.2  為什么使用volumeClaimTemplate 233
9.2  StatefulSet資源清單文件的編寫技巧 235
9.2.1  定義API版本和資源類型 235
9.2.2  定義StatefulSet的spec字段 235
9.2.3  定義Pod模板 236
9.3  StatefulSet使用案例:部署Web站點(diǎn) 236
9.3.1  創(chuàng)建存儲(chǔ)類 236
9.3.2  創(chuàng)建StatefulSet資源 237
9.3.3  查看StatefulSet是否創(chuàng)建成功 238
9.3.4  查看StatefulSet管理的Pod 238
9.4  StatefulSet管理Pod:擴(kuò)容、縮容和更新案例 239
9.4.1  案例1:擴(kuò)容 239
9.4.2  案例2:縮容 239
9.4.3  案例3:更新 239
9.5  本章小結(jié) 240
第10章  Kubernetes控制器:DaemonSet 241
10.1  DaemonSet如何管理Pod 242
10.2  DaemonSet資源創(chuàng)建方法 242
10.2.1  DaemonSet資源清單的定義方法 242
10.2.2  DaemonSet使用案例:部署日志收集組件Fluentd 244
10.2.3  DaemonSet管理Pod:滾動(dòng)更新 247
10.3  本章小結(jié) 248
第11章  配置管理中心ConfigMap和Secret 250
11.1  ConfigMap概述 251
11.2  ConfigMap的創(chuàng)建方法 251
11.3  案例:使用ConfigMap維護(hù)Pod中容器的配置信息 253
11.3.1  通過環(huán)境變量引入:configMapKeyRef 253
11.3.2  通過環(huán)境變量引入:使用envfrom 255
11.3.3  把ConfigMap做成Volume,掛載到Pod 256
11.4  Secret基本介紹及使用案例 257
11.5  本章小結(jié) 259
第12章  Ingress和Ingress Controller 260
12.1  Ingress和Ingress Controller基本介紹和安裝 260
12.1.1  使用Ingress Controller代理Kubernetes內(nèi)部Pod的流程 260
12.1.2  安裝Ingress Controller 262
12.2  案例:測(cè)試Ingress HTTP代理Tomcat 262
12.3  本章小結(jié) 266
第13章  搭建Prometheus Grafana監(jiān)控平臺(tái) 267
13.1  Prometheus基本介紹 267
13.1.1  Prometheus的特點(diǎn) 268
13.1.2  Prometheus生態(tài)系統(tǒng)常用組件介紹 269
13.1.3  Prometheus采集數(shù)據(jù)流程 270
13.1.4  Prometheus查詢語(yǔ)言PromQL 271
13.2  安裝和配置Prometheus 273
13.2.1  安裝和配置Prometheus 273
13.2.2  監(jiān)控利器Node-Exporter 283
13.3  可視化UI界面Grafana的安裝和配置 287
13.3.1  Grafana介紹 287
13.3.2  安裝Grafana 287
13.3.3  Grafana界面接入Prometheus數(shù)據(jù)源 290
13.4  配置Alertmanager發(fā)送告警 297
13.4.1  案例:配置Alertmanager發(fā)送告警到QQ郵箱 297
13.4.2  案例:配置Alertmanager發(fā)送告警到釘釘群組 307
13.5  本章小結(jié) 308
第14章  基于Jenkins Kubernetes構(gòu)建企業(yè)級(jí)DevOps容器云平臺(tái) 309
14.1  Kubernetes助力DevOps企業(yè)落地實(shí)踐 309
14.1.1  DevOps的基本概念 309
14.1.2  Kubernetes在DevOps中的核心作用 311
14.1.3  在Kubernetes集群安裝和配置Jenkins 312
14.1.4  案例:使用Jenkins將代碼自動(dòng)化部署到Kubernetes集群 328
14.2  Jenkins Pipeline語(yǔ)法介紹 335
14.2.1  Jenkins Pipeline介紹 335
14.2.2  為什么用Jenkins Pipeline 335
14.2.3  Jenkins Pipeline聲明式語(yǔ)法 335
14.2.4  Jenkins Pipeline腳本式語(yǔ)法 344
14.3  本章小結(jié) 346
第15章  新一代服務(wù)網(wǎng)格Istio結(jié)合Kubernetes實(shí)現(xiàn)流量治理 347
15.1  認(rèn)識(shí)Istio服務(wù)網(wǎng)格 347
15.1.1  Istio服務(wù)網(wǎng)格概述 347
15.1.2  Istio的核心特性 348
15.1.3  Istio的架構(gòu)與功能 350
15.2  Istio組件詳解 353
15.2.1  Pilot 353
15.2.2  Envoy 354
15.2.3  Citadel 355
15.2.4  Galley 355
15.2.5  其他組件 356
15.3  在Kubernetes平臺(tái)安裝Istio 356
15.3.1  準(zhǔn)備安裝Istio的壓縮包 356
15.3.2  安裝Istio 357
15.4  案例:Istio結(jié)合Kubernetes部署在線書店Bookinfo 359
15.4.1  在線書店(Bookinfo)項(xiàng)目介紹 359
15.4.2  在線書店的部署 360
15.4.3  啟動(dòng)應(yīng)用服務(wù) 360
15.4.4  卸載Bookinfo服務(wù) 364
15.5  通過Istio實(shí)現(xiàn)灰度發(fā)布 366
15.5.1  什么是灰度發(fā)布 366
15.5.2  使用Istio進(jìn)行金絲雀發(fā)布 366
15.6  Istio流量治理實(shí)例 370
15.6.1  斷路器 370
15.6.2  超時(shí) 376
15.6.3  故障注入和重試 383
15.7  分布式追蹤系統(tǒng)Jaeger 386
15.8  分布式追蹤系統(tǒng)Kiali 390
15.9  本章小結(jié) 392
第16章  高并發(fā)場(chǎng)景下基于Kubernetes實(shí)現(xiàn)自動(dòng)擴(kuò)縮容 393
16.1  Metrics Server在自動(dòng)擴(kuò)縮容中的核心作用 393
16.1.1  Metrics Server的部署方式 394
16.1.2  Metrics Server的具體應(yīng)用 399
16.2  水平Pod自動(dòng)擴(kuò)縮容HPA 400
16.2.1  HPA基本介紹 400
16.2.2  HPA設(shè)置和使用案例 400
16.3  垂直Pod自動(dòng)擴(kuò)縮容VPA 403
16.3.1  VPA基本介紹 403
16.3.2  VPA設(shè)置和使用案例 404
16.4  本章小結(jié) 408
第17章  基于Kubernetes搭建高吞吐量的日志收集平臺(tái) 409
17.1  常見的日志收集方案對(duì)比分析 409
17.2  EFK案例分享——組件部署 411
17.2.1  步驟一:部署Elasticsearch 411
17.2.2  步驟二:部署Fluentd服務(wù) 414
17.2.3  步驟三:部署Kibana服務(wù) 417
17.2.4  步驟四:驗(yàn)證 419
17.3  ELK案例分享——步驟說明 420
17.3.1  創(chuàng)建命名空間 420
17.3.2  創(chuàng)建持久卷和持久卷聲明 420
17.3.3  創(chuàng)建Elasticsearch集群 421
17.3.4  創(chuàng)建Logstash集群 423
17.3.5  創(chuàng)建Kibana 425
17.4  EFK Logstash Kafka案例分享 426
17.4.1  安裝和配置Fluentd 426
17.4.2  創(chuàng)建Fluentd配置文件 427
17.4.3  安裝和配置Kafka和Logstash 428
17.4.4  安裝和配置Elasticsearch和Kibana 429
17.4.5  測(cè)試EFK日志收集系統(tǒng) 430
17.5  本章小結(jié) 431
第18章  在Kubernetes集群部署代碼和服務(wù) 432
18.1  在Kubernetes集群部署Go代碼 433
18.2  在Kubernetes集群部署Python代碼 434
18.3  在Kubernetes集群部署Nginx服務(wù) 437
18.3.1  步驟一:編寫Nginx部署所需的Deployment和Service資源定義文件 437
18.3.2  步驟二:在Kubernetes集群上部署Nginx服務(wù) 438
18.4  在Kubernetes集群部署Tomcat服務(wù) 438
18.4.1  步驟一:創(chuàng)建命名空間 439
18.4.2  步驟二:部署Tomcat服務(wù) 439
18.5  本章小結(jié) 440
第19章  K3s實(shí)際應(yīng)用場(chǎng)景及案例分享 442
19.1  K3s應(yīng)用領(lǐng)域 442
19.1.1  邊緣計(jì)算 442
19.1.2  嵌入式設(shè)備 443
19.1.3  云原生領(lǐng)域 444
19.1.4  多云管理 444
19.2  K3s實(shí)戰(zhàn)案例分享 445
19.3  安裝和使用K3s 445
19.3.1  安裝K3s 445
19.3.2  使用K3s 446
19.4  本章小結(jié) 447
第20章  Kubernetes原生的CI/CD工具Tekton 449
20.1  Tekton基本介紹和案例演示 449
20.1.1  Tekton概述 449
20.1.2  使用Tekton構(gòu)建和測(cè)試應(yīng)用程序 451
20.2  使用Tekton構(gòu)建CI/CD流水線最佳實(shí)踐 454
20.2.1  創(chuàng)建應(yīng)用程序代碼 454
20.2.2  創(chuàng)建Docker鏡像 455
20.2.3  創(chuàng)建Tekton資源 455
20.2.4  執(zhí)行CI/CD流程 458
20.3  本章小結(jié) 460

本目錄推薦

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