注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)家庭與辦公軟件Kubernetes編程

Kubernetes編程

Kubernetes編程

定 價(jià):¥88.00

作 者: [美] 邁克爾·豪森布拉斯(Michael Hausenblas) 著,李凡希,任震宇 譯
出版社: 中國電力出版社
叢編項(xiàng):
標(biāo) 簽: 暫缺

ISBN: 9787519854799 出版時(shí)間: 2021-06-01 包裝: 平裝
開本: 16開 頁數(shù): 317 字?jǐn)?shù):  

內(nèi)容簡介

  如果你打算開發(fā)原生Kubernetes應(yīng)用,《Kubernetes編程》將成為你的向?qū)?。該書面向開發(fā)者和應(yīng)用運(yùn)維管理員介紹如何構(gòu)建原生Kubernetes應(yīng)用程序,這類應(yīng)用可直接通過API服務(wù)器查詢或更新資源的狀態(tài)。AWS開發(fā)倡導(dǎo)者M(jìn)ichael Hausenblas和Red Hat首席軟件工程師Stefan Schimanski將介紹這類應(yīng)用的特性并向你展示如何編寫Kubernetes程序來構(gòu)建它們。你將學(xué)到Kubernetes的基礎(chǔ)構(gòu)件,包括client-go API庫以及自定義資源。你只需要具備一些初級(jí)的開發(fā)知識(shí)和系統(tǒng)管理工具和實(shí)踐經(jīng)驗(yàn)(包括包管理、Go語言和Git)即可上手。介紹了Kubernetes API的基礎(chǔ)知識(shí)并深入講解API服務(wù)器的內(nèi)部結(jié)構(gòu)。學(xué)習(xí)Go語言的Kubernetes編程接口,包括Kubernetes API對象。學(xué)習(xí)自定義資源,它是Kubernetes生態(tài)系統(tǒng)中核心的擴(kuò)展工具。使用代碼標(biāo)簽控制Kubernetes代碼生成器為自定義資源生成代碼時(shí)的行為。編寫自定義的控制器和Operator,并為部署到生產(chǎn)環(huán)境中做好準(zhǔn)備。通過自定義API服務(wù)器,擴(kuò)展Kubernetes的API層。

作者簡介

  Michael Hausenblas是Amazon Web Service容器開發(fā)領(lǐng)域的倡導(dǎo)者。他擁有大規(guī)模數(shù)據(jù)處理和容器編排方面的經(jīng)驗(yàn),在倡導(dǎo)和實(shí)施W3C和IETF標(biāo)準(zhǔn)化方面有著豐富的經(jīng)驗(yàn)。 Stefan Schimanski是Red Hat的Go、Kubernetes和Open-Shift首席軟件工程師,他專注于Kubernetes API服務(wù)器及其在自定義資源定義、API Machinery方面的實(shí)現(xiàn),以及Kubernetes預(yù)發(fā)布倉庫的管理

圖書目錄

目錄
前言 .1
第1 章 概論 .7
1.1 什么是Kubernetes 編程? .7
1.2 一個(gè)實(shí)際的例子 10
1.3 擴(kuò)展模式 11
1.4 控制器和Operator 12
1.4.1 控制循環(huán). 13
1.4.2 事件 14
1.4.3 邊沿觸發(fā)與水平觸發(fā) 17
1.4.4 改變集群對象或外部系統(tǒng)狀態(tài) 20
1.4.5 樂觀并發(fā). 23
1.4.6 Operator 26
1.5 小結(jié) 28
第2 章 Kubernetes API 基礎(chǔ) .30
2.1 API 服務(wù)器 30
2.1.1 API 服務(wù)器的HTTP 接口 31
2.1.2 API 術(shù)語 . 33
2.1.3 Kubernetes API 版本 . 36
2.1.4 聲明式狀態(tài)管理 . 37
2.2 通過命令行使用API . 38
2.3 API 服務(wù)器是如何處理請求的 43
2.4 小結(jié) 47
第3 章 client-go 基礎(chǔ) 49
3.1 代碼倉庫 49
3.1.1 客戶端庫. 49
3.1.2 Kubernetes API 類型 . 51
3.1.3 API Machinery . 52
3.1.4 創(chuàng)建并使用客戶端對象 53
3.1.5 版本與兼容性 56
3.1.6 API 版本與兼容性保證 59
3.2 Go 語言中的Kubernetes 對象 62
3.2.1 TypeMeta 63
3.2.2 ObjectMeta 67
3.2.3 規(guī)格與狀態(tài) 68
3.3 客戶端集合 . 68
3.3.1 狀態(tài)子資源:UpdateStatus 71
3.3.2 列表與刪除 71
3.3.3 Watch 72
3.3.4 客戶端擴(kuò)展 73
3.3.5 客戶端選項(xiàng) 73
3.4 Informer 和緩存 75
3.5 深入API Machinery 83
3.5.1 型別 83
3.5.2 資源 83
3.5.3 REST 映射 . 84
3.5.4 Scheme 86
3.6 Vendor 機(jī)制 88
3.6.1 glide 88
3.6.2 dep . 89
3.6.3 Go 模塊 90
3.7 小結(jié) 92
第4 章 使用自定義資源 93
4.1 服務(wù)發(fā)現(xiàn)信息 95
4.2 類型定義 97
4.3 自定義資源的高級(jí)功能 . 100
4.3.1 自定義資源合法性驗(yàn)證 100
4.3.2 短名字與類別 103
4.3.3 打印列 104
4.3.4 子資源 106
4.4 開發(fā)者眼中的自定義資源 . 111
4.4.1 動(dòng)態(tài)客戶端 . 112
4.4.2 強(qiáng)類型客戶端 114
4.4.3 Operator SDK 和Kubebuilder 的controller-runtime 客戶端 121
4.5 小結(jié) . 123
第5 章 自動(dòng)代碼生成 124
5.1 為何需要代碼生成器 124
5.2 調(diào)用代碼生成器 125
5.3 通過標(biāo)簽控制代碼生成器行為 127
5.3.1 全局標(biāo)簽 128
5.3.2 局部標(biāo)簽 129
5.3.3 deepcopy-gen 標(biāo)簽 131
5.3.4 runtime.Object 與DeepCopyObject 131
5.3.5 client-gen 標(biāo)簽 133
5.3.6 informer-gen 和lister-gen 135
5.4 小結(jié) . 136
第6 章 編寫Operator 的方案 137
6.1 準(zhǔn)備工作 138
6.2 基于sample-controller 138
6.2.1 引導(dǎo) 139
6.2.2 業(yè)務(wù)邏輯 140
6.3 Kubebuilder . 148
6.3.1 引導(dǎo) 149
6.3.2 業(yè)務(wù)邏輯 155
6.4 Operator SDK . 160
6.4.1 引導(dǎo) 161
6.4.2 業(yè)務(wù)邏輯 163
6.5 其他方案 167
6.6 應(yīng)用和未來的方向 168
6.7 小結(jié) . 169
第7 章 發(fā)布控制器和Operator 170
7.1 生命周期管理和打包 170
7.1.1 打包:挑戰(zhàn) . 171
7.1.2 Helm 172
7.1.3 Kustomize 174
7.1.4 其他打包方法 176
7.1.5 打包的最佳實(shí)踐 177
7.1.6 生命周期管理 178
7.2 準(zhǔn)生產(chǎn)部署 179
7.2.1 將權(quán)限設(shè)置正確 179
7.2.2 自動(dòng)構(gòu)建與測試 183
7.2.3 自定義控制器和可觀測性 184
7.3 小結(jié) . 187
第8 章 自定義API 服務(wù)器 . 189
8.1 自定義API 服務(wù)器的適用場景 189
8.2 示例:一個(gè)披薩店 192
8.3 架構(gòu):聚合 193
8.3.1 API 服務(wù) 195
8.3.2 自定義API 服務(wù)器的內(nèi)部結(jié)構(gòu) 198
8.3.3 委托身份認(rèn)證和信任機(jī)制 200
8.3.4 委托授權(quán) 201
8.4 開發(fā)自定義API 服務(wù)器 . 204
8.4.1 選項(xiàng)、配置模式和啟動(dòng)基礎(chǔ)設(shè)施 204
8.4.2 第一次啟動(dòng) . 213
8.4.3 內(nèi)部類型和轉(zhuǎn)換 214
8.4.4 編寫API 類型 218
8.4.5 轉(zhuǎn)換 220
8.4.6 默認(rèn)值處理 . 224
8.4.7 雙程測試 226
8.4.8 驗(yàn)證 228
8.4.9 注冊表與策略 231
8.4.10 安裝API 237
8.4.11 準(zhǔn)入 . 242
8.5 部署自定義API 服務(wù)器 . 253
8.5.1 部署清單文件 254
8.5.2 設(shè)置RBAC . 257
8.5.3 不安全地運(yùn)行自定義API 服務(wù)器 259
8.5.4 證書與信任 . 262
8.5.5 共享etcd 265
8.6 小結(jié) . 266
第9 章 自定義資源進(jìn)階 . 268
9.1 自定義資源版本 268
9.1.1 改進(jìn)披薩餐廳 269
9.1.2 轉(zhuǎn)換Webhook 架構(gòu) 273
9.1.3 實(shí)現(xiàn)轉(zhuǎn)換Webhook . 277
9.1.4 搭建HTTPS 服務(wù)器 278
9.1.5 部署轉(zhuǎn)換Webhook . 285
9.1.6 觀察實(shí)際轉(zhuǎn)換過程 286
9.2 準(zhǔn)入Webhook . 290
9.2.1 餐館示例中的準(zhǔn)入需求 291
9.2.2 準(zhǔn)入Webhook 架構(gòu) 292
9.2.3 注冊準(zhǔn)入Webhook . 295
9.2.4 實(shí)現(xiàn)準(zhǔn)入Webhook . 296
9.2.5 準(zhǔn)入Webhook 實(shí)戰(zhàn) 302
9.3 結(jié)構(gòu)化Schema 與CRD 的未來 . 304
9.3.1 結(jié)構(gòu)化Schema . 305
9.3.2 剪裁或保留不能識(shí)別的字段 307
9.3.3 控制剪裁 308
9.3.4 IntOrString 和RawExtensions 310
9.3.5 默認(rèn)值 311
9.4 小結(jié) . 313
附錄 資源 . 315
作者介紹 319
封面介紹 319

本目錄推薦

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