此商品已下架,若仍需天瓏代為查詢或代購書籍,請與門市客服人員聯繫,或 E-mail 至 service@tenlong.com.tw 將有專人為您服務。

雲原生Kubernetes自動化運維實踐

高鵬舉

  • 出版商: 清華大學
  • 出版日期: 2025-03-01
  • 定價: $594
  • 售價: 8.5$505
  • 語言: 簡體中文
  • 頁數: 338
  • ISBN: 7302679347
  • ISBN-13: 9787302679349
  • 相關分類: Kubernetes
  • 下單後立即進貨 (約4週~6週)

  • 雲原生Kubernetes自動化運維實踐-preview-1
  • 雲原生Kubernetes自動化運維實踐-preview-2
  • 雲原生Kubernetes自動化運維實踐-preview-3
雲原生Kubernetes自動化運維實踐-preview-1

商品描述

"《雲原生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自動化運維實踐》不僅整合了多種自動化運維工具,還提供了豐富的運維案例,無論是初學者還是有一定經驗的運維工程師,都能從中獲得寶貴的知識和實踐經驗,提升自身的技術水平。"

作者簡介

高鵬舉 現任國家電網公司高級運維開發工程師。在Linux相關技術領域擁有深厚的造詣,尤其在容器化、虛擬化、自動化運維、系統監控、腳本編寫以及服務網格等方面具備豐富的實踐經驗和深入的研究。憑借其紮實的技術功底與廣泛的項目經歷,成功主導並實施了多個國有企業的關鍵項目。 此外,他還活躍於各大技術社區,累計發表了超過2000篇關於運維開發的高質量教程文章,廣受讀者讚譽。

目錄大綱

目    錄

第 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  安裝BuildKit和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