-
>
全國計算機等級考試最新真考題庫模擬考場及詳解·二級MSOffice高級應用
-
>
決戰行測5000題(言語理解與表達)
-
>
軟件性能測試.分析與調優實踐之路
-
>
第一行代碼Android
-
>
JAVA持續交付
-
>
EXCEL最強教科書(完全版)(全彩印刷)
-
>
深度學習
云原生KUBERNETES自動化運維實踐 版權信息
- ISBN:9787302679349
- 條形碼:9787302679349 ; 978-7-302-67934-9
- 裝幀:平裝-膠訂
- 冊數:暫無
- 重量:暫無
- 所屬分類:>>
云原生KUBERNETES自動化運維實踐 本書特色
《云原生Kubernetes自動化運維實踐》是一本來自生產一線的實踐指南,旨在幫助讀者掌握Kubernetes在現代IT基礎設施中的自動化運維技術。《云原生Kubernetes自動化運維實踐》從Kubernetes的基本概念講起,結合大量實例演示,逐步深入到高級應用,如Ingress-Nginx服務網關、存儲與持久化解決方案、配置和密鑰管理、調度和認證策略等。
對于開發者和運維人員來說,這本書提供了一套完整的工具集和*佳實踐,涵蓋了從集群搭建到持續集成交付的全過程。書中詳細介紹了各種控制器的使用,如ReplicationController、Deployment、StatefulSet等,以及如何利用標簽、容器鉤子、探針和HPA實現高效的資源管理和自動伸縮。
此外,《云原生Kubernetes自動化運維實踐》還特別介紹了Jenkins持續集成交付工具和ArgoCD GitOps、MetalLB工具鏈的應用,幫助讀者構建流暢的CI/CD管道。通過Prometheus與Grafana的集成監控,以及Istio服務網格的實踐,讀者將能夠建立起強大的監控和流量管理體系。
不論你是初學者還是有經驗的Kubernetes管理員,《云原生Kubernetes自動化運維實踐》都能提供寶貴的知識和技能,助你在云原生時代保持競爭力。
云原生KUBERNETES自動化運維實踐 內容簡介
"《云原生Kubernetes自動化運維實踐》以一名大型企業集群運維工程師的實戰經驗為基礎,全面系統地闡述Kubernetes(K8s)在自動化運維領域的技術應用。《云原生Kubernetes自動化運維實踐》共16章,內容由淺入深,逐步揭示K8s的原理及實際操作技巧。第1章引領讀者踏入Kubernetes的世界,詳細介紹其起源、核心組件的概念以及集群安裝方法。第2~4章深入剖析Pod控制器、Label標簽、容器鉤子、探針、Service服務發現與負載均衡機制。第5~7章則探討Ingress-Nginx服務網關的應用、存儲卷管理、配置和密鑰管理的高級功能。第8~10章聚焦于鑒權機制、容器運行時的選擇與配置,以及GitLab企業級代碼倉庫的部署和管理。第11~13章涵蓋Jenkins持續集成交付工具、ArgoCD聲明式持續交付,以及云原生負載均衡MetalLB的應用。第14章和第15章分別介紹云原生日志與監控集成架構,以及Istio微服務時代的服務網格領航者。*后,第16章通過一系列實戰案例,展示在K8s環境中安裝并實驗多種服務的詳細過程。 《云原生Kubernetes自動化運維實踐》不僅整合了多種自動化運維工具,還提供了豐富的運維案例,無論是初學者還是有一定經驗的運維工程師,都能從中獲得寶貴的知識和實踐經驗,提升自身的技術水平。"
云原生KUBERNETES自動化運維實踐云原生KUBERNETES自動化運維實踐 前言
——高效運維,輕松適應云原生時代
在這個云原生與DevOps風起云涌的時代,技術的浪潮不斷推動著軟件開發的邊界,讓我們見證了前所未有的變革與創新。作為一名深耕運維開發領域的工程師,筆者深知在這片浩瀚的技術海洋中,每一步探索都充滿了挑戰與機遇。因此,筆者懷揣著對技術的熱愛與敬畏,決定將這段旅程中的所見所感,以及實戰經驗,匯聚成這本《云原生Kubernetes自動化運維實踐》。
本書精心編排了16個章節,從云原生技術的基石——Kubernetes(K8s)出發,逐步深入Containerd容器化技術、版本控制系統GitLab、持續集成/持續部署(CI/CD)工具Jenkins,再到監控與日志分析領域的強大組合Loki Grafana Prometheus,每一個章節都是對運維開發領域關鍵技術的深刻剖析與實踐總結組成部分。
我們不會止步于此。隨著云原生架構的日益成熟,負載均衡與服務發現成為不可忽視的議題,MetalLB以其獨特的魅力為我們提供了云外Kubernetes集群的負載均衡解決方案。而Argo CD作為GitOps的杰出代表,將Git倉庫作為基礎設施和應用聲明的唯一事實來源,引領了配置管理的新風尚。*后,當我們踏入服務網格的殿堂,Istio以其強大的流量管理、安全通信和策略控制功能,為我們構建分布式系統提供了前所未有的靈活性和可靠性。
云原生KUBERNETES自動化運維實踐 目錄
第 1 章 走進Kubernetes的世界 1
1.1 為什么使用Kubernetes 1
1.2 Kubernetes節點組件 2
1.2.1 Master節點運行的組件 2
1.2.2 Node節點運行的組件 2
1.3 Kubernetes集群的搭建與配置 3
1.3.1 Kubeadm工具介紹 3
1.3.2 基礎環境配置 4
1.3.3 升級內核版本 10
1.3.4 三大組件的安裝 12
1.3.5 集群鏡像處理 13
1.3.6 集群初始化 14
1.3.7 Node節點加入集群 14
1.3.8 Calico網絡插件安裝 16
1.3.9 Metrics-Server服務的安裝 17
1.3.10 Kuboard管理平臺安裝 20
1.4 本章小結 22
第 2 章 Pod控制器 23
2.1 Pod、Kubectl與YAML 23
2.1.1 Pod及其操作 24
2.1.2 Kubectl命令行工具 25
2.1.3 YAML文件 27
2.2 Replication 28
2.3 ReplicaSet 31
2.4 Deploymant 36
2.4.1 Deployment概述 36
2.4.2 Deployment創建與訪問 36
2.4.3 滾動更新策略實例 38
2.4.4 更新/回滾/暫停/恢復 41
2.4.5 擴容的3種方式 45
2.5 StatefulSet 46
2.5.1 StatefulSet概述 46
2.5.2 StatefulSet創建服務 47
2.5.3 Ping域名實驗 49
2.5.4 解析域名實驗 50
2.5.5 創建StatefulSet服務自動申請PV實驗 51
2.6 DaemonSet 55
2.6.1 DaemonSet概述 55
2.6.2 DaemonSet實例 56
2.7 CronJob 57
2.7.1 CronJob概述 57
2.7.2 CronJob資源清單詳解 58
2.7.3 CronJob實驗 59
2.7.4 CronJob實戰備份MySQL數據庫 61
2.8 Job 64
2.8.1 Job概述 64
2.8.2 Job實驗 64
2.9 本章小結 66
第 3 章 Label、容器鉤子、探針 67
3.1 Label標簽 67
3.1.1 Label概述 67
3.1.2 Label實驗 68
3.2 InitC 70
3.2.1 InitC概述 71
3.2.2 InitC實驗 71
3.2.3 部署Elasticsearch服務時配置InitC 73
3.3 容器鉤子 75
3.3.1 容器鉤子概述 75
3.3.2 容器鉤子實驗 76
3.4 探針 78
3.4.1 探針概述 78
3.4.2 StartUp Probe啟動探針實驗 79
3.4.3 Readiness Probe就緒探針實驗 80
3.4.4 LivenessProbe存活探針實驗 82
3.5 本章小結 83
第 4 章 Service服務發現與負載均衡 84
4.1 Service原理 84
4.2 ClusterIP 85
4.2.1 ClusterIP概述 85
4.2.2 ClusterIP實驗 86
4.3 NodePort 88
4.3.1 NodePort概述 88
4.3.2 NodePort實驗 89
4.4 Headless Service 91
4.4.1 Headless Service概述 91
4.4.2 Headless Service實驗 92
4.5 ExternalName 94
4.5.1 ExternalName概述 95
4.5.2 ExternalName實驗 95
4.6 LoadBalancer 98
4.6.1 LoadBalancer概述 98
4.6.2 如何指定LoadBalancer類型的服務IP 98
4.7 Service端口范圍及解除限制 99
4.7.1 Service端口范圍概述 99
4.7.2 Service端口范圍解除限制 99
4.8 使用Service代理K8s外部應用 100
4.8.1 使用Service代理K8s外部應用概述 101
4.8.2 使用Service代理K8s外部應用實驗 101
4.9 本章小結 103
第 5 章 Ingress-Nginx服務網關 104
5.1 Ingress-Nginx概述 104
5.2 Ingress-Nginx安裝 104
5.3 Annotations注解 109
5.3.1 流量復制 109
5.3.2 IP白名單 110
5.3.3 IP黑名單 111
5.3.4 域名轉發 111
5.3.5 返回字符串 112
5.3.6 文件上傳大小 113
5.3.7 域名HTTPS訪問 113
5.3.8 對接外部的認證服務 115
5.3.9 配置默認頁面 116
5.3.10 Nginx如何獲取客戶端真實IP 117
5.3.11 重定向 117
5.3.12 重寫 118
5.3.13 多域名指向同一個后端服務 118
5.4 本章小結 119
第 6 章 Kubernetes存儲與持久化 120
6.1 Kubernetes存儲類概述 120
6.2 Kubernetes持久卷聲明 121
6.3 持久卷的生命周期 121
6.4 動態申請持久卷實驗 122
6.4.1 NFS共享存儲搭建 122
6.4.2 nfs-client-provisioner存儲類搭建 124
6.4.3 服務使用存儲類動態申請資源實驗 129
6.5 PV/PVC詳解 131
6.5.1 PV/PVC概述 131
6.5.2 PVC的創建流程 131
6.5.3 PV訪問模式 132
6.5.4 PV回收策略 132
6.5.5 PV/PVC卷狀態 133
6.6 Deployment直連NFS存儲 134
6.7 本章小結 135
第 7 章 ConfigMap配置和Secret密鑰管理 136
7.1 ConfigMap:非敏感配置信息的集中管理 136
7.1.1 ConfigMap概述 136
7.1.2 使用目錄方式創建ConfigMap 137
7.1.3 使用文件方式創建ConfigMap 139
7.1.4 使用字面值方式創建ConfigMap 139
7.1.5 設置ConfigMap不允許更改 140
7.1.6 通過envfrom方式指定ConfigMap 140
7.1.7 通過valueFrom方式指定ConfigMap 142
7.1.8 Nginx通過ConfigMap管理配置文件 143
7.2 Secret:敏感信息的安全存儲與訪問 147
7.2.1 Secret概述 147
7.2.2 使用文件方式創建Secret 147
7.2.3 使用YAML方式創建Secret 149
7.2.4 Secret權限解析 149
7.2.5 使用Docker的config.json方式創建Secret 149
7.2.6 使用Kubectl創建Docker Registry認證的Secret 150
7.3 本章小結 151
第 8 章 Kubernetes鑒權機制 152
8.1 Kubernetes鑒權機制概述 152
8.2 鑒權機制的工作流程 152
8.3 角色/角色綁定概述 153
8.4 用戶鑒權實戰 154
8.5 本章小結 160
第 9 章 容器運行時Containerd 161
9.1 Containerd概述 161
9.2 安裝與配置Containerd 162
9.2.1 安裝Containerd 162
9.2.2 配置Containerd阿里云鏡像加速器 164
9.2.3 配置Containerd使用自建鏡像倉庫 164
9.3 使用nerdctl管理Containerd 165
9.3.1 安裝nerdctl 165
9.3.2 nerdctl常用命令示例 166
9.4 使用nerdctl構建鏡像 167
9.4.1 安uildKit和cni-plugins 168
9.4.2 構建鏡像 169
9.5 本章小結 170
第 10 章 GitLab企業級代碼倉庫 171
10.1 GitLab目錄結構 171
10.2 部署GitLab 172
10.3 GitLab的配置與使用 183
10.3.1 基礎設置 183
10.3.2 創建項目 184
10.3.3 修改克隆地址 185
10.3.4 拉取/提交代碼 188
10.4 本章小結 190
第 11 章 Jenkins持續集成交付工具 191
11.1 Jenkins概述 191
11.2 Kubernetes集群部署Jenkins 192
11.3 Jenkins對接K8s實現動態Slave 199
11.3.1 基礎設置并對接K8s 199
11.3.2 自由風格項目實現動態Slave 203
11.3.3 Pipeline流水線項目實現動態Slave 205
11.4 本章小結 208
第 12 章 ArgoCD聲明式持續交付 209
12.1 ArgoCD概述 209
12.2 Kubernetes部署ArgoCD 210
12.3 ArgoCD的配置及使用 215
12.3.1 ArgoCD連接Kubernetes 215
12.3.2 使用ArgoCD CLI集成GitLab并創建App 215
12.4 本章小結 221
第 13 章 云原生負載均衡之MetalLB 222
13.1 自建LoadBalancer種類 222
13.2 MetalLB的核心概念與架構 223
13.2.1 MetalLB的核心概念 224
13.2.2 MetalLB架構 224
13.3 Kubernetes部署MetalLB 225
13.3.1 檢查是否開啟IPVS功能 225
13.3.2 配置并創建MetaLB服務 226
13.3.3 創建LoadBalancer類型的服務 228
13.3.4 使用MetalLB進行服務的外部訪問 229
13.4 本章小結 230
第 14 章 Helm與Loki-Stack搭建日志監控系統 231
14.1 Helm包管理與部署 231
14.1.1 Helm概述 231
14.1.2 CentOS 7系統安裝Helm3 232
14.2 Loki-Stack部署與實踐 233
14.2.1 Loki與Loki-Stack概述 233
14.2.2 Helm3部署Loki-Stack 234
14.2.3 外部訪問Grafana 237
14.2.4 日志監控查詢 238
14.2.5 導入儀表盤面板 239
14.2.6 監控告警 242
14.3 本章小結 246
第 15 章 Istio微服務時代的服務網格領航者 247
15.1 Istio概述 247
15.2 Istio核心組件 248
15.2.1 Istio-Pilot 248
15.2.2 Istio-Telemetry 248
15.2.3 Istio-Policy 249
15.2.4 Istio-Citadel 249
15.2.5 Istio-Sidecar-Injector 250
15.2.6 Istio-Proxy 250
15.2.7 Istio-Ingress-Gateway 251
15.2.8 Istio-Envoy 251
15.3 部署Istio 251
15.3.1 Istioctl的安裝 251
15.3.2 Istioctl安裝Istio 253
15.4 Sidecar邊車容器注入 256
15.4.1 Sidecar手動注入 256
15.4.2 Sidecar自動注入 259
15.4.3 Sidecar取消自動注入 260
15.5 4種配置資源概念詳解 261
15.5.1 VirtualService 261
15.5.2 DestinationRule 261
15.5.3 ServiceEntry 262
15.5.4 Gateway 262
15.6 VirtualService關鍵字配置示例 262
15.6.1 使用weight關鍵字拆分流量 262
15.6.2 使用timeout關鍵字設置請求超時時間 263
15.6.3 使用retries關鍵字設置重試 264
15.6.4 使用fault關鍵字設置故障注入 264
15.6.5 VirtualService資源清單詳解 265
15.7 Istio流量治理 265
15.7.1 請求頭httpHeaderName 266
15.7.2 HTTP流量鏡像 269
15.7.3 重寫 274
15.7.4 重定向 277
15.7.5 流量權重-藍綠與金絲雀發布 282
15.7.6 超時 287
15.7.7 重試 293
15.7.8 斷路器/熔斷 303
15.7.9 故障注入 313
15.8 本章小結 316
第 16 章 Kubernetes服務部署實戰 317
16.1 K8s部署MinIO開源對象存儲 317
16.2 K8s部署Metabase數據庫連接工具 321
16.3 K8s部署phpMyAdmin數據庫連接工具 326
16.4 K8s部署Nacos配置中心 330
16.5 本章小結 338
云原生KUBERNETES自動化運維實踐 作者簡介
高鵬舉,現任國家電網公司高級運維開發工程師。在Linux相關技術領域擁有深厚的造詣,尤其在容器化、虛擬化、自動化運維、系統監控、腳本編寫以及服務網格等方面具備豐富的實踐經驗和深入的研究。憑借其扎實的技術功底與廣泛的項目經歷,成功主導并實施了多個國有企業的關鍵項目。此外,他還活躍于各大技術社區,累計發表了超過2000篇關于運維開發的高質量教程文章,廣受讀者贊譽。
- >
隨園食單
- >
我與地壇
- >
中國歷史的瞬間
- >
大紅狗在馬戲團-大紅狗克里弗-助人
- >
伯納黛特,你要去哪(2021新版)
- >
詩經-先民的歌唱
- >
經典常談
- >
上帝之肋:男人的真實旅程