注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計算機/網(wǎng)絡(luò)軟件與程序設(shè)計其他編程語言/工具Kubernetes Operator開發(fā)進階

Kubernetes Operator開發(fā)進階

Kubernetes Operator開發(fā)進階

定 價:¥89.00

作 者: 胡濤(Daniel Hu)編著
出版社: 機械工業(yè)出版社
叢編項:
標(biāo) 簽: 暫缺

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

內(nèi)容簡介

  本書詳細講解Operator開發(fā)過程中所涉及的各個知識點,從簡單的Operator示例應(yīng)用入手,幫助讀者快速上手Operator的開發(fā)流程,接著深入分析client-go、Deployment控制器等的源碼,通過一個進階應(yīng)用的開發(fā)過程詳細介紹Operator開發(fā)的各方面知識。通過本書的學(xué)習(xí),讀者能夠輕松掌握Operator的開發(fā)技巧,深入理解Operator的底層原理,進而在日常工作中更好地利用Operator實現(xiàn)各種復(fù)雜的應(yīng)用治理邏輯的開發(fā)。

作者簡介

暫缺《Kubernetes Operator開發(fā)進階》作者簡介

圖書目錄

目錄
推薦序1
推薦序2
前言
第一篇 入  門
第1章 了解Kubernetes 2
1.1 初識Kubernetes 2
1.2 Kubernetes集群的部署 3
1.2.1 Docker的安裝 4
1.2.2 Kind工具介紹 6
1.2.3 使用Kind快速搭建Kubernetes環(huán)境 6
1.2.4 使用Kind搭建多節(jié)點Kubernetes集群環(huán)境 7
1.2.5 Kind用法進階 10
1.3 Kubernetes集群的基本操作 12
1.3.1 示例項目介紹 12
1.3.2 基礎(chǔ)操作演示 13
1.3.3 小結(jié) 18
1.4 Kubernetes的核心概念 18
1.4.1 節(jié)點 18
1.4.2 命名空間 19
1.4.3 容器組 21
1.4.4 副本集 22
1.4.5 部署 23
1.4.6 服務(wù) 24
1.5 Kubernetes的發(fā)展歷史 26
1.6 本章小結(jié) 27
第2章 開始Operator開發(fā) 28
2.1 理解控制器模式 28
2.1.1 生活中的控制器 28
2.1.2 Kubernetes中的控制器 29
2.2 理解Operator模式 30
2.3 Operator開發(fā)環(huán)境準備 31
2.4 Kubebuilder的安裝配置 31
2.5 從Application Operator Demo開始 32
2.5.1 創(chuàng)建項目 33
2.5.2 添加API 35
2.5.3 CRD實現(xiàn) 38
2.5.4 CRD部署 39
2.5.5 CR部署 40
2.5.6 Controller實現(xiàn) 41
2.5.7 啟動Controller 42
2.5.8 部署Controller 44
2.5.9 資源清理 46
2.6 Operator的發(fā)展歷史 46
2.6.1 Operator概念的提出 46
2.6.2 第一個Operator程序 47
2.6.3 Operator的崛起 47
2.7 本章小結(jié) 48
第二篇 進  階
第3章 Kubernetes API介紹 50
3.1 認識Kubernetes API 50
3.2 使用Kubernetes API 50
3.2.1 Curl方式訪問API 50
3.2.2 kubectl raw方式訪問API 53
3.3 理解GVK:組、版本與類型 54
3.4 本章小結(jié) 54
第4章 理解client-go 55
4.1 client-go項目介紹 55
4.1.1 client-go的代碼庫 55
4.1.2 client-go的包結(jié)構(gòu) 56
4.1.3 client-go的版本規(guī)則 56
4.1.4 獲取client-go 57
4.2 client-go使用示例 57
4.2.1 client-go集群內(nèi)認證配置 57
4.2.2 client-go集群外認證配置 60
4.2.3 client-go操作Deployment 63
4.3 本章小結(jié) 67

第5章 client-go源碼分析 68
5.1 client-go源碼概覽 68
5.1.1 關(guān)于client-go源碼版本 68
5.1.2 client-go模塊概覽 69
5.2 WorkQueue源碼分析 71
5.2.1 普通隊列Queue的實現(xiàn) 71
5.2.2 延時隊列DelayingQueue的實現(xiàn) 74
5.2.3 限速隊列RateLimitingQueue的實現(xiàn) 79
5.2.4 小結(jié) 82
5.3 DeltaFIFO源碼分析 83
5.3.1 Queue接口與DeltaFIFO的實現(xiàn) 83
5.3.2 queueActionLocked()方法的邏輯 85
5.3.3 Pop()方法和Replace()方法的邏輯 86
5.4 Indexer和ThreadSafeStore 89
5.4.1 Indexer接口和cache的實現(xiàn) 89
5.4.2 ThreadSafeStore的實現(xiàn) 91
5.4.3 各種Index方法的實現(xiàn) 94
5.5 ListerWatcher 95
5.5.1 ListWatch對象的初始化 95
5.5.2 ListerWatcher接口 97
5.5.3 List-Watch與HTTP chunked 98
5.6 Reflector 102
5.6.1 Reflector的啟動過程 102
5.6.2 核心方法:Reflector.ListAndWatch() 102
5.6.3 核心方法:Reflector.watchHandler() 106
5.6.4 Reflector的初始化 108
5.6.5 小結(jié) 108
5.7 Informer 109
5.7.1 Informer就是Controller 109
5.7.2 SharedIndexInformer對象 113
5.7.3 sharedProcessor對象 116
5.7.4 關(guān)于SharedInformerFactory 119
5.7.5 小結(jié) 121
5.8 本章小結(jié) 122
第6章 項目核心依賴包分析 123
6.1 API項目 123
6.2 apimachinery項目 124
6.3 controller-runtime項目 125
6.4 本章小結(jié) 126

第7章 Operator開發(fā)進階 127
7.1 進階項目設(shè)計 127
7.2 準備application-operator項目 127
7.2.1 創(chuàng)建新項目 127
7.2.2 項目基礎(chǔ)結(jié)構(gòu)分析 128
7.3 定義Application資源 132
7.3.1 添加新API 132
7.3.2 自定義新API 133
7.4 實現(xiàn)Application Controller 134
7.4.1 實現(xiàn)主調(diào)諧流程 134
7.4.2 實現(xiàn)Deployment調(diào)諧流程 137
7.4.3 實現(xiàn)Service調(diào)諧流程 140
7.4.4 設(shè)置RBAC權(quán)限 142
7.4.5 過濾調(diào)諧事件 146
7.4.6 資源別名 150
7.5 使用Webhook 151
7.5.1 Kubernetes API訪問控制 151
7.5.2 Admission Webhook介紹 152
7.5.3 Admission Webhook的實現(xiàn) 152
7.5.4 cert-manager部署 154
7.5.5 Webhook部署運行 155
7.5.6 Webhook測試 157
7.6 API多版本支持 159
7.6.1 實現(xiàn)V2版本API 159
7.6.2 多版本API部署

本目錄推薦

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