學(xué)習(xí)如何操作集群,開發(fā)人員如何利用Kubernetes部署應(yīng)用程序,以及如何利用Kubernetes減輕開發(fā)人員的負擔(dān)。
通過掌握Kubernetes API以及配置選項來調(diào)整、保護,以及調(diào)節(jié)集群。
檢測集群級別的問題,學(xué)習(xí)必要的響應(yīng)步驟并快速恢復(fù)集群。
確定如何以及何時添加構(gòu)建、擴展或以其他方式改進Kubernetes集群的庫、工具和平臺。
雖然Kubernetes極大地簡化了部署容器化應(yīng)用程序的工作,但每天管理這種編排框架仍然是一項復(fù)雜的工作。站點管理人員以及開發(fā)運營工程師可以通過本書學(xué)習(xí)如何構(gòu)建、操作、管理及升級Kubernetes集群,無論這些集群位于云基礎(chǔ)架構(gòu)之上還是在企業(yè)內(nèi)部。
本書的作者Brendan Burns是Kubernetes的聯(lián)合創(chuàng)始人,而Craig Tracey是Heptio的現(xiàn)場工程師。本書詳細講解了Kubernetes的內(nèi)部工作原理,并向讀者展示了如何通過維護、調(diào)整和改善集群來滿足特定需求。
Brendan Burns是Kubernetes開源容器管理平臺的聯(lián)合創(chuàng)始人。他是微軟杰出的工程師,負責(zé)管理微軟的Azure資源管理器和Azure容器服務(wù)團隊。在加入微軟之前,他曾是谷歌云平臺的高級工程師。
Craig Tracey曾構(gòu)建了支持互聯(lián)網(wǎng)的基礎(chǔ)設(shè)施,包括從內(nèi)核設(shè)備驅(qū)動程序到大規(guī)模云存儲服務(wù)的所有技術(shù)。在加入Heptio后,他由軟件開發(fā)人員轉(zhuǎn)為了現(xiàn)場工程師,幫助該公司采用了Kubernetes,并通過代碼向員工們介紹云原生架構(gòu)的原則。
目錄
前言 .1
第1 章 緒論 .7
1.1 集群如何運作 .8
1.2 調(diào)整、保護以及調(diào)節(jié)集群 .9
1.3 出現(xiàn)問題時做出響應(yīng) 10
1.4 通過新功能和自定義的功能擴展系統(tǒng) .11
1.5 小結(jié) 12
第2 章 Kubernetes 概述 13
2.1 容器 13
2.2 容器編排 .15
2.3 Kubernetes API 16
2.4 小結(jié) 27
第3 章 Kubernetes 的架構(gòu) . 29
3.1 概念 29
3.2 結(jié)構(gòu) 33
3.3 組件 35
3.4 小結(jié) 40
第4 章 Kubernetes API 服務(wù)器 . 41
4.1 可管理性的基本特征 41
4.2 API 服務(wù)器的組成部分 42
4.3 請求管理 .49
4.4 API 服務(wù)器內(nèi)部 59
4.5 調(diào)試API 服務(wù)器 .60
4.6 小結(jié) 62
第5 章 調(diào)度器 63
5.1 概述 63
5.2 調(diào)度的過程 64
5.3 通過標簽、親和性、污點和容忍來控制調(diào)度 67
5.4 小結(jié) 72
第6 章 安裝Kubernetes 73
6.1 kubeadm 73
6.2 安裝控制平面 76
6.3 安裝工作節(jié)點 83
6.4 插件 85
6.5 階段 85
6.6 高可用性 .86
6.7 升級 86
6.8 小結(jié) 89
第7 章 身份認證與用戶管理 91
7.1 用戶 92
7.2 身份認證 .93
7.3 kubeconfig 102
7.4 服務(wù)賬號 104
7.5 小結(jié) 106
第8 章 授權(quán) 107
8.1 REST .107
8.2 授權(quán) 108
8.3 基于角色的訪問控制 . 110
8.4 小結(jié) 116
第9 章 準入控制 117
9.1 配置 118
9.2 常見的控制器 118
9.3 動態(tài)準入控制器 123
9.4 小結(jié) 130
第10 章 網(wǎng)絡(luò) . 131
10.1 容器網(wǎng)絡(luò)接口 .131
10.2 kube-proxy 134
10.3 服務(wù)發(fā)現(xiàn) 136
10.4 網(wǎng)絡(luò)策略 138
10.5 服務(wù)網(wǎng)格 140
10.6 小結(jié) .141
第11 章 監(jiān)控Kubernetes . 143
11.1 監(jiān)控目標 143
11.2 日志與監(jiān)控之間的差異145
11.3 構(gòu)建監(jiān)控棧 146
11.4 監(jiān)控的內(nèi)容 151
11.5 小結(jié) .157
第12 章 災(zāi)難恢復(fù) . 159
12.1 高可用性 159
12.2 狀態(tài) .160
12.3 應(yīng)用數(shù)據(jù) 161
12.4 工作節(jié)點 162
12.5 etcd 163
12.6 Ark 164
12.7 小結(jié) .166
第13 章 擴展Kubernetes . 167
13.1 Kubernetes 的擴展點 167
13.2 集群的守護程序 .168
13.3 集群助手 171
13.4 延長API 服務(wù)器的生命周期 174
13.5 向Kubernetes 添加自定義API 177
13.6 小結(jié) .181
第14 章 總結(jié) . 183