注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當前位置: 首頁出版圖書科學(xué)技術(shù)計算機/網(wǎng)絡(luò)操作系統(tǒng)Kubernetes企業(yè)級云原生運維實戰(zhàn)

Kubernetes企業(yè)級云原生運維實戰(zhàn)

Kubernetes企業(yè)級云原生運維實戰(zhàn)

定 價:¥119.00

作 者: 李振良
出版社: 清華大學(xué)出版社
叢編項:
標 簽: 暫缺

購買這本書可以去


ISBN: 9787302663515 出版時間: 2024-07-01 包裝: 平裝-膠訂
開本: 16開 頁數(shù): 字數(shù):  

內(nèi)容簡介

  本書是一本實用性很強的Kubernetes運維實戰(zhàn)指南,旨在為容器云平臺的建設(shè)、應(yīng)用和運維過程提供全面的指導(dǎo)。作者結(jié)合豐富的生產(chǎn)環(huán)境經(jīng)驗,深入探討作為一名Kubernetes工程師 的核心技能,包括部署、存儲、網(wǎng)絡(luò)、安全、日志、監(jiān)控、CI/CD等方面的技術(shù)。本書結(jié)合大量的實際案例,深入解析各個知識點,幫助讀者更輕松地理解Kubernetes,并掌握在真實應(yīng)用場景中的使用方法、技巧以及工作原理。通過學(xué)習(xí)本書,讀者可以熟練運用這些知識來構(gòu)建高效、穩(wěn)定、安全的企業(yè)級Kubernetes容器平臺,提高自身的運維能力和競爭力。本書適用于云計算工程師、運維工程師、DevOps工程師、開發(fā)工程師、測試工程師、架構(gòu)師以及備考CKA認證人員,也適合作為高等院校計算機專業(yè)云計算及容器技術(shù)方面的教材和教學(xué)參考書。

作者簡介

  李振良:14年DevOps相關(guān)工作經(jīng)驗及7年培訓(xùn)經(jīng)驗;國內(nèi)早一批K8s布道者;曾擔任奇虎360公司高級DevOps工程師,K8s運維架構(gòu)師,Linux集群架構(gòu)專家;曾負責近千臺服務(wù)器,主導(dǎo)從0到1實現(xiàn)億級PV中大型網(wǎng)站架構(gòu)、K8s容器平臺建設(shè)、開發(fā)運維管理平臺等十多個項目,積累了豐富項目實戰(zhàn)經(jīng)驗。專注于Linux、Python、Golang、Docker、Kubernetes、DevOps、云原生等技術(shù)。

圖書目錄

第1章  Kubernetes概述 1
1.1  容器技術(shù)概述 1
1.2  Kubernetes介紹 3
1.3  Kubernetes架構(gòu)與組件 4
1.4  Kubernetes核心資源 5
1.5  本章小結(jié) 6
第2章  Kubernetes快速入門 7
2.1  Kubernetes集群部署 7
2.1.1  準備服務(wù)器環(huán)境 7
2.1.2  系統(tǒng)初始化配置 8
2.1.3  安裝Docker 10
2.1.4  安裝cri-docker 10
2.1.5  安裝kubeadm和kubelet 11
2.1.6  部署Master節(jié)點 12
2.1.7  部署Node節(jié)點 14
2.1.8  部署網(wǎng)絡(luò)插件 14
2.1.9  部署Dashboard 16
2.1.10  清空Kubernetes環(huán)境 18
2.2  部署第一個應(yīng)用程序 18
2.2.1  通過Dashboard部署應(yīng)用程序 18
2.2.2  通過kubectl命令行部署應(yīng)用程序 20
2.2.3  通過定義資源文件部署應(yīng)用程序 21
2.3  kubectl管理工具 23
2.3.1  kubectl子命令概要 23
2.3.2  kubectl工具常用操作 28
2.4  本章小結(jié) 30
第3章  Pod資源對象 31
3.1  Pod存在的意義 31
3.2  Pod實現(xiàn)原理 32
3.2.1  容器之間網(wǎng)絡(luò)通信 32
3.2.2  容器之間文件共享 35
3.3  Pod資源常見字段及值類型 37
3.4  Pod管理常用命令 38
3.5  容器運行命令與參數(shù) 39
3.5.1  command 39
3.5.2  args 40
3.6  鏡像拉取策略 40
3.7  聲明端口 41
3.8  容器健康檢查 42
3.8.1  存活探針 42
3.8.2  就緒探針 44
3.8.3  啟動探針 46
3.8.4  tcpSocket和exec檢查方法 47
3.9  容器資源配額 49
3.9.1  資源請求與資源限制 49
3.9.2  資源請求對Pod調(diào)度的影響 51
3.9.3  理想的資源配額是多少 52
3.9.4  服務(wù)質(zhì)量 53
3.10  容器環(huán)境變量 55
3.11  初始化容器 56
3.12  容器生命周期回調(diào) 58
3.12.1  postStart 59
3.12.2  preStop 60
3.13  Pod生命周期 61
3.13.1  創(chuàng)建Pod 61
3.13.2  啟動Pod 62
3.13.3  銷毀Pod 62
3.14  本章小結(jié) 63
第4章  工作負載資源對象 64
4.1  工作負載資源概述 64
4.2  Deployment 64
4.2.1  獲取源代碼 65
4.2.2  構(gòu)建鏡像 66
4.2.3  推送鏡像到鏡像倉庫 67
4.2.4  部署應(yīng)用 68
4.2.5  應(yīng)用升級 71
4.2.6  應(yīng)用回滾 74
4.2.7  應(yīng)用擴容與縮容 77
4.2.8  應(yīng)用下線 77
4.2.9  實現(xiàn)灰度發(fā)布 77
4.3  DaemonSet 79
4.4  Job與CronJob 83
4.4.1  Job 83
4.4.2  ConJob 84
4.5  本章小結(jié) 86
第5章  Service資源對象 87
5.1  Service概述 87
5.2  Service定義 87
5.3  Service公開類型 90
5.3.1  ClusterIP 90
5.3.2  NodePort 91
5.3.3  LoadBalancer 93
5.3.4  ExternalName 94
5.4  Endpoints對象 95
5.5  Service服務(wù)發(fā)現(xiàn) 97
5.5.1  環(huán)境變量 97
5.5.2  DNS 97
5.6  Service代理模式 102
5.6.1  iptables 102
5.6.2  ipvs 104
5.7  生產(chǎn)環(huán)境架構(gòu) 107
5.8  本章小結(jié) 108
第6章  Ingress資源對象 109
6.1  Ingress概述 109
6.2  Ingress控制器部署 110
6.3  Ingress對外公開HTTP服務(wù) 110
6.4  基于請求路徑轉(zhuǎn)發(fā)不同服務(wù) 113
6.5  Ingress配置HTTPS 114
6.6  Ingress自定義配置 115
6.6.1  增加代理超時時間 115
6.6.2  設(shè)置客戶端請求體大小 116
6.6.3  重定向 116
6.6.4  會話保持 117
6.6.5  自定義規(guī)則 117
6.7  Ingress灰度發(fā)布 118
6.7.1  基于權(quán)重的流量切分 119
6.7.2  基于客戶端請求的流量切分 124
6.7.3  常見發(fā)布策略總結(jié) 128
6.8  Ingress工作原理 128
6.9  生產(chǎn)環(huán)境架構(gòu) 129
6.10  本章小結(jié) 131
第7章  Kubernetes存儲管理 132
7.1  卷 132
7.1.1  emptyDir 132
7.1.2  hostPath 134
7.1.3  nfs 136
7.1.4  容器存儲接口 139
7.2  持久卷 140
7.2.1  創(chuàng)建PV 141
7.2.2  創(chuàng)建PVC 142
7.2.3  Pod使用PVC 143
7.2.4  PV動態(tài)供給 144
7.2.5  PV生命周期 148
7.3  內(nèi)置存儲對象 149
7.3.1  ConfigMap 149
7.3.2  Secret 153
7.3.3  配置文件自動重新加載方案 156
7.4  本章小結(jié) 156
第8章  有狀態(tài)應(yīng)用管理 157
8.1  StatefulSet工作負載資源 157
8.1.1  穩(wěn)定的網(wǎng)絡(luò)標識符 157
8.1.2  穩(wěn)定的獨享存儲 160
8.2  MySQL主從復(fù)制集群實踐 162
8.2.1  MySQL集群拓撲規(guī)劃 162
8.2.2  MySQL集群容器化實現(xiàn) 163
8.2.3  MySQL Slave擴展與縮減 167
8.2.4  MySQL版本升級與回滾 170
8.3  Operator 170
8.3.1  Operator介紹 170
8.3.2  自定義資源定義 171
8.3.3  控制器 173
8.3.4  MySQL Operator 174
8.4  本章小結(jié) 178
第9章  Kubernetes調(diào)度管理 179
9.1  節(jié)點選擇器 179
9.2  節(jié)點親和性 180
9.3  Pod親和性和反親和性 184
9.3.1  親和性 184
9.3.2  反親和性 186
9.4  污點與容忍 187
9.4.1  污點 187
9.4.2  容忍 188
9.5  nodeName 190
9.6  本章小結(jié) 190
第10章  Kubernetes安全配置 192
10.1  Kubernetes API訪問控制 192
10.1.1  Kubernetes安全框架 192
10.1.2  RBAC介紹 193
10.1.3  面向用戶授權(quán)案例1 195
10.1.4  面向用戶授權(quán)案例2 202
10.1.5  內(nèi)置集群角色 204
10.1.6  面向應(yīng)用程序授權(quán)案例 204
10.2  Pod安全上下文 207
10.2.1  容器以普通用戶運行 208
10.2.2  容器啟用特權(quán) 209
10.2.3  容器設(shè)置只讀文件系統(tǒng) 210
10.3  網(wǎng)絡(luò)策略 210
10.3.1  網(wǎng)絡(luò)策略實現(xiàn) 210
10.3.2  網(wǎng)絡(luò)策略資源 211
10.3.3  默認策略 212
10.3.4  Pod級別限制 213
10.3.5  命名空間級別限制 214
10.3.6  細粒度限制 215
10.3.7  IP段限制 216
10.3.8  出站流量限制 217
10.4  本章小結(jié) 218
第11章  Kubernetes網(wǎng)絡(luò)插件之
Calico 219
11.1  Docker網(wǎng)絡(luò)模型 219
11.1.1  容器之間以及容器與宿主機
之間的通信 219
11.1.2  容器訪問外部網(wǎng)絡(luò) 221
11.1.3  外部網(wǎng)絡(luò)訪問容器 221
11.2  Kubernetes網(wǎng)絡(luò)模型 222
11.3  Calico介紹 224
11.4  Calico部署 226
11.5  calicoctl管理工具 226
11.6  Calico工作模式 227
11.6.1  覆蓋網(wǎng)絡(luò):VXLAN模式 229
11.6.2  覆蓋網(wǎng)絡(luò):IPIP模式 233
11.6.3  路由網(wǎng)絡(luò):BGP模式 235
11.6.4  工作模式優(yōu)缺點 236
11.7  路由反射器 237
11.8  本章小結(jié) 240
第12章  Kubernetes部署利器
Helm 241
12.1  Helm介紹 241
12.2  Helm安裝 241
12.3  Helm命令概述 242
12.4  Helm基本使用 243
12.4.1  制作Chart 243
12.4.2  安裝Chart 246
12.4.3  更新Release 248
12.4.4  回滾Release 249
12.4.5  卸載Release 249
12.5  深入理解Chart模板 249
12.5.1  縮進函數(shù) 250
12.5.2  toYaml函數(shù) 250
12.5.3  條件判斷 251
12.5.4  循環(huán) 252
12.5.5  變量作用域 253
12.5.6  讀取文件 254
12.5.7  自定義模板 255
12.6  自建Chart倉庫 257
12.6.1  搭建Chart倉庫服務(wù)器 257
12.6.2  推送本地Chart到遠程倉庫 257
12.6.3  通過遠程倉庫安裝Chart 258
12.7  公共Chart倉庫 258
12.7.1  部署MySQL集群 259
12.7.2  部署Redis集群 262
12.8  本章小結(jié) 263
第13章  基于Jenkins的CI/CD
平臺 265
13.1  CI/CD簡介 265
13.1.1  持續(xù)集成 265
13.1.2  持續(xù)交付和持續(xù)部署 266
13.2  CI/CD流程設(shè)計 267
13.3  相關(guān)軟件環(huán)境準備 267
13.3.1  部署GitLab代碼倉庫 268
13.3.2  部署Harbor鏡像倉庫 269
13.3.3  部署Jenkins發(fā)布系統(tǒng) 271
13.4  Jenkins初體驗 275
13.4.1  流程設(shè)計 275
13.4.2  提交代碼 275
13.4.3  創(chuàng)建項目 278
13.4.4  項目配置 278
13.4.5  驗證與測試 281
13.5  Jenkins參數(shù)化構(gòu)建 283
13.6  Jenkins主從架構(gòu) 284
13.7  Jenkins Pipeline 287
13.7.1  Pipeline語法 287
13.7.2  基于Kubernetes動態(tài)創(chuàng)建代理 288
13.7.3  常用指令 292
13.7.4  片段生成器 296
13.8  案例:Pipeline實現(xiàn)網(wǎng)站項目的
自動發(fā)布 297
13.8.1  Pipeline腳本基本結(jié)構(gòu) 297
13.8.2  拉取代碼階段 299
13.8.3  代碼編譯階段 302
13.8.4  構(gòu)建鏡像階段 303
13.8.5  部署到K8s集群階段 306
13.8.6  反饋階段 309
13.8.7  驗證與測試 311
13.9  Argo CD增強持續(xù)交付 316
13.9.1  Argo CD部署 317
13.9.2  Argo CD實踐 319
13.10  本章小結(jié) 323
第14章  基于Prometheus Grafana的
監(jiān)控平臺 324
14.1  Prometheus和Grafana簡介 324
14.2  Prometheus架構(gòu) 324
14.3  部署Prometheus和Grafana 326
14.3.1  部署Prometheus 326
14.3.2  部署Grafana 327
14.3.3  在Grafana中添加Prometheus作為
數(shù)據(jù)源 328
14.4  Prometheus監(jiān)控案例 329
14.4.1  監(jiān)控Linux服務(wù)器 329
14.4.2  監(jiān)控Docker服務(wù)器 332
14.4.3  監(jiān)控MySQL服務(wù)器 334
14.4.4  監(jiān)控應(yīng)用程序 336
14.5  Alertmanager告警通知 342
14.5.1  部署Alertmanager 342
14.5.2  Prometheus指向Alertmanager 344
14.5.3  定義告警規(guī)則 344
14.5.4  企業(yè)微信告警通知 349
14.5.5  自定義告警內(nèi)容模板 351
14.6  Prometheus監(jiān)控Kubernetes 353
14.6.1  Prometheus服務(wù)發(fā)現(xiàn)簡介 353
14.6.2  Kubernetes關(guān)注的指標 354
14.6.3  在Kubernetes中搭建Prometheus
監(jiān)控系統(tǒng) 355
14.6.4  監(jiān)控Node 356
14.6.5  監(jiān)控Pod 363
14.6.6  監(jiān)控資源對象 366
14.6.7  監(jiān)控Service和Ingress對象 368
14.6.8  監(jiān)控集群中應(yīng)用程序 371
14.6.9  監(jiān)控Kubernetes組件 374
14.7  本章小結(jié) 383
第15章  基于ELK Stack的日志管理
平臺 384
15.1  ELK Stack簡介 384
15.2  部署Elasticsearch和Kibana 386
15.3  Nginx日志收集案例 387
15.3.1  部署Filebeat 387
15.3.2  Kibana查看索引 388
15.3.3  創(chuàng)建數(shù)據(jù)視圖 389
15.4  數(shù)據(jù)處理管道Logstash 391
15.4.1  部署Logstash 391
15.4.2  定義數(shù)據(jù)處理規(guī)則 393
15.4.3  配置Filebeat發(fā)送到Logstash 395
15.5  Kibana儀表板 396
15.5.1  PV統(tǒng)計 397
15.5.2  PV趨勢圖 398
15.5.3  客戶端IP TOP10 399
15.5.4  URI TOP10 401
15.5.5  HTTP狀態(tài)碼分布 401
 
15.6  收集Kubernetes集群中的應(yīng)用
日志 403
15.6.1  如何收集這些日志 403
15.6.2  在Kubernetes中搭建ELK 
日志系統(tǒng) 404
15.6.3  收集Pod日志 405
15.6.4  收集Pod中的日志文件 410
15.7  本章小結(jié) 415
 
 

本目錄推薦

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