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

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

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

定 價:¥128.00

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

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

內(nèi)容簡介

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

作者簡介

  韓先超高級運維,Kubernetes架構(gòu)師,國內(nèi)最早一批Kubernetes布道者,曾就職于世界500強上市公司,擁有RHCE、RHCA、CKA等認證證書,對于Linux、DevOps、Kubernetes和自動化等領(lǐng)域有著深入的理解和實踐經(jīng)驗。在 CSDN、51CTO等平臺發(fā)表過多篇Linux、DevOps、Kubernetes、自動化等方面的文章,累計閱讀量突破100萬;在 51CTO平臺的Kubernetes課程擁有近200萬學(xué)員;推出的Kubernetes課程被選入工信部人才交流中心官方認證課程 。在2021年5月28日由51CTO主辦,中關(guān)村數(shù)智人工智能產(chǎn)業(yè)聯(lián)盟指導(dǎo)的《數(shù)啟創(chuàng)新 云觸未來! Web3.0云響力新一 代云計算大會》中作為主講嘉賓分享Kubernetes如何助力企業(yè)轉(zhuǎn)型,被北京日報和環(huán)球網(wǎng)發(fā)文專題報道;受Linux 基金會邀請,作為主講嘉賓分享Kubernetes在企業(yè)中的發(fā)展趨勢和具體應(yīng)用場景;曾為國家電網(wǎng)、振興銀行、中 國移動、中國電信,天翼物聯(lián)、任子行等大型企業(yè)提供Kubernetes技術(shù)培訓(xùn);還積極參與企業(yè)內(nèi)訓(xùn)項目,為各大 企業(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的組成與特點 2
1.2.1  Docker的組成 2
1.2.2  Docker的特點 4
1.3  安裝和配置Docker 5
1.3.1  配置主機名 5
1.3.2  關(guān)閉Firewalld防火墻 6
1.3.3  關(guān)閉SELinux 6
1.3.4  配置時間同步 7
1.3.5  編寫計劃任務(wù) 7
1.3.6  重啟crond服務(wù)使計劃任務(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鏡像運行一個Docker容器 24
1.5.2  查看Docker容器是否正常運行 24
1.5.3  在Docker中安裝Nginx容器 25
1.5.4  在Docker容器中通過yum安裝Nginx 26
1.6  本章小結(jié) 28
第2章  Dockerfile構(gòu)建企業(yè)級鏡像 29
2.1  Dockerfile語法詳解 29
2.2  Dockerfile構(gòu)建企業(yè)級鏡像 43
2.2.1  案例:Dockerfile構(gòu)建Nginx鏡像 43
2.2.2  案例:Dockerfile構(gòu)建Tomcat鏡像 48
2.3  本章小結(jié) 50
第3章  Docker私有鏡像倉庫Harbor 51
3.1  Harbor的概念及證書簽發(fā) 51
3.2  安裝Harbor 53
3.3  Harbor圖形界面使用說明 57
3.4  測試使用Harbor私有鏡像倉庫 59
3.5  Harbor高可用 62
3.6  本章小結(jié) 63
第4章  Kubeadm快速搭建Kubernetes集群 64
4.1  初始化實驗環(huán)境 65
4.1.1  配置靜態(tài)IP地址 67
4.1.2  配置機器主機名 68
4.1.3  配置主機hosts文件 68
4.1.4  配置控制節(jié)點到工作節(jié)點無密碼登錄 68
4.1.5  關(guān)閉交換分區(qū) 69
4.1.6  修改機器內(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  配置時間同步 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  擴容Kubernetes集群 85
4.3.1  添加第一個工作節(jié)點 85
4.3.2  添加第二個工作節(jié)點 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  測試Kubernetes集群是否健康 95
4.5.1  測試在Kubernetes中創(chuàng)建的Pod是否可以正常訪問網(wǎng)絡(luò) 95
4.5.2  測試CoreDNS是否正常 96
4.5.3  延長證書 96
4.6  本章小結(jié) 99
第5章  Kubernetes核心資源Pod 100
5.1  Pod是什么 100
5.1.1  Pod基本介紹 100
5.1.2  Pod如何管理多個容器 101
5.1.3  Pod網(wǎng)絡(luò) 102
5.1.4  Pod存儲 102
5.2  Pod的工作方式 103
5.2.1  自主式Pod 103
5.2.2  控制器管理的Pod 107
5.3  如何創(chuàng)建一個Pod資源 111
5.3.1  通過YAML文件創(chuàng)建Pod資源 112
5.3.2  Pod資源清單編寫技巧 113
5.3.3  創(chuàng)建一個完整的Pod資源 141
5.3.4  和Pod相關(guān)的命令解讀 144
5.4  nodeName和nodeSelector 146
5.4.1  nodeName實例 147
5.4.2  nodeSelector實例 148
5.5  親和性、污點和容忍度 149
5.5.1  節(jié)點親和性 149
5.5.2  Pod親和性和反親和性 154
5.5.3  污點和容忍度 160
5.6  Pod生命周期和健康探測 165
5.6.1  初始化容器initcontainer 166
5.6.2  存活探測 167
5.6.3  就緒探測 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實例:擴容、縮容、更新 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資源對象YAML文件的組成 186
6.5.2  查看Deployment下的spec字段 186
6.6  Deployment管理Pod案例解析 188
6.7  Deployment管理Pod:擴容和縮容 190
6.7.1  電商網(wǎng)站訪問量急增——擴容Pod 190
6.7.2  電商網(wǎng)站淡季或業(yè)務(wù)低峰期——縮容Pod 191
6.8  基于Deployment實現(xiàn)Pod滾動更新——WebApp應(yīng)用版本升級 192
6.9  本章小結(jié) 195
第7章  Service四層負載均衡 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持久化存儲 216
8.1  Kubernetes支持的持久化存儲類型 216
8.1.1  Kubernetes持久化存儲:emptyDir案例 218
8.1.2  Kubernetes持久化存儲:hostPath案例 218
8.1.3  Kubernetes持久化存儲:NFS案例 219
8.2  Kubernetes持久化存儲:PV和PVC 221
8.2.1  PV和PVC概述 221
8.2.2  創(chuàng)建Pod,使用PVC作為持久化存儲卷 225
8.3  Kubernetes存儲類: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站點 236
9.3.1  創(chuàng)建存儲類 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:擴容、縮容和更新案例 239
9.4.1  案例1:擴容 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:滾動更新 247
10.3  本章小結(jié) 248
第11章  配置管理中心ConfigMap和Secret 250
11.1  ConfigMap概述 251
11.2  ConfigMap的創(chuàng)建方法 251
11.3  案例:使用ConfigMap維護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  案例:測試Ingress HTTP代理Tomcat 262
12.3  本章小結(jié) 266
第13章  搭建Prometheus Grafana監(jiān)控平臺 267
13.1  Prometheus基本介紹 267
13.1.1  Prometheus的特點 268
13.1.2  Prometheus生態(tài)系統(tǒng)常用組件介紹 269
13.1.3  Prometheus采集數(shù)據(jù)流程 270
13.1.4  Prometheus查詢語言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è)級DevOps容器云平臺 309
14.1  Kubernetes助力DevOps企業(yè)落地實踐 309
14.1.1  DevOps的基本概念 309
14.1.2  Kubernetes在DevOps中的核心作用 311
14.1.3  在Kubernetes集群安裝和配置Jenkins 312
14.1.4  案例:使用Jenkins將代碼自動化部署到Kubernetes集群 328
14.2  Jenkins Pipeline語法介紹 335
14.2.1  Jenkins Pipeline介紹 335
14.2.2  為什么用Jenkins Pipeline 335
14.2.3  Jenkins Pipeline聲明式語法 335
14.2.4  Jenkins Pipeline腳本式語法 344
14.3  本章小結(jié) 346
第15章  新一代服務(wù)網(wǎng)格Istio結(jié)合Kubernetes實現(xiàn)流量治理 347
15.1  認識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平臺安裝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)項目介紹 359
15.4.2  在線書店的部署 360
15.4.3  啟動應(yīng)用服務(wù) 360
15.4.4  卸載Bookinfo服務(wù) 364
15.5  通過Istio實現(xiàn)灰度發(fā)布 366
15.5.1  什么是灰度發(fā)布 366
15.5.2  使用Istio進行金絲雀發(fā)布 366
15.6  Istio流量治理實例 370
15.6.1  斷路器 370
15.6.2  超時 376
15.6.3  故障注入和重試 383
15.7  分布式追蹤系統(tǒng)Jaeger 386
15.8  分布式追蹤系統(tǒng)Kiali 390
15.9  本章小結(jié) 392
第16章  高并發(fā)場景下基于Kubernetes實現(xiàn)自動擴縮容 393
16.1  Metrics Server在自動擴縮容中的核心作用 393
16.1.1  Metrics Server的部署方式 394
16.1.2  Metrics Server的具體應(yīng)用 399
16.2  水平Pod自動擴縮容HPA 400
16.2.1  HPA基本介紹 400
16.2.2  HPA設(shè)置和使用案例 400
16.3  垂直Pod自動擴縮容VPA 403
16.3.1  VPA基本介紹 403
16.3.2  VPA設(shè)置和使用案例 404
16.4  本章小結(jié) 408
第17章  基于Kubernetes搭建高吞吐量的日志收集平臺 409
17.1  常見的日志收集方案對比分析 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  步驟四:驗證 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  測試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實際應(yīng)用場景及案例分享 442
19.1  K3s應(yīng)用領(lǐng)域 442
19.1.1  邊緣計算 442
19.1.2  嵌入式設(shè)備 443
19.1.3  云原生領(lǐng)域 444
19.1.4  多云管理 444
19.2  K3s實戰(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)建和測試應(yīng)用程序 451
20.2  使用Tekton構(gòu)建CI/CD流水線最佳實踐 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) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號