Kubernetes操作器是一本2021年出版的圖書,由中國電力出版社出版
基本介紹
- 中文名:Kubernetes操作器
- 作者:[美]詹森·多比斯(Jason Dobies) 、[美]約書亞·伍德(Joshua Wood) 、馬晶慧
- 出版社:中國電力出版社
- ISBN:9787519856748
內容簡介,圖書目錄,
內容簡介
本書主要內容有:學習如何在Kubernetes集群上部署操作器。從使用到實現,全面探索操作器。探索操作器框架:操作器SDK、操作器生命周期管理器以及操作器度量。利用SDK的Go程式語言支持構建、打包和運行操作器。利用現有的Helm和Ansible資產打包和部署操作器。學習如何在Kubernetes集群上分發操作器。學習如何利用操作器實現網站可靠性工程實踐。
圖書目錄
目錄
前言 . 1
第1 章 操作器為Kubernetes 帶來的創新 7
1.1 Kubernetes 的工作方式 .8
1.2 示例:無狀態Web 伺服器 10
1.3 有狀態的應用程式 11
1.4 操作器是軟體SRE 11
1.5 操作器的工作原理 12
1.6 如何創建操作器 13
1.7 示例:etcd 操作器 14
1.8 操作器面向的對象 15
1.9 整裝待發 16
第2 章 運行操作器 . 17
2.1 建立操作器實驗室 17
2.1.1 集群版本要求 18
2.1.2 授權要求18
2.1.3 標準的工具和技術 19
2.1.4 建議的集群配置 20
2.1.5 檢查集群的版本 22
2.2 運行一個簡單的操作器 .22
2.2.1 常見的示例 .23
2.2.2 獲取etcd 操作器的清單 24
2.2.3 CR:自定義API 端點 24
2.2.4 我是誰:定義操作器的服務賬號 25
2.2.5 部署etcd 操作器 29
2.2.6 聲明etcd 集群 30
2.2.7 練習使用etcd 32
2.2.8 擴展etcd 集群 33
2.2.9 故障與自動恢復 34
2.2.10 升級etcd 集群 36
2.2.11 清理 .39
2.3 小結 .39
第3 章 構建在Kubernetes 接口上的操作器 . 41
3.1 標準伸縮:副本集資源 .41
3.2 自定義資源 43
3.3 自定義控制器 .43
3.4 操作器的範圍 .44
3.4.1 命名空間範圍 44
3.4.2 集群範圍的操作器 45
3.5 授權 .45
3.5.1 服務賬號45
3.5.2 角色 46
3.5.3 角色綁定47
3.5.4 集群角色與集群角色綁定 47
3.6 小結 .47
第4 章 操作器框架 . 49
4.1 操作器框架的起源 49
4.2 操作器成熟度模型 50
4.3 操作器SDK .51
4.4 操作器生命周期管理器 .52
4.5 操作器度量 53
4.6 小結 .54
第5 章 示例應用程式:訪客網站 55
5.1 套用概況 56
5.2 使用清單安裝 .57
5.2.1 部署MySQL 58
5.2.2 後端 60
5.2.3 前端 63
5.3 部署清單 65
5.4 訪問訪客網站 .65
5.5 清理 .66
5.6 小結 .66
第6 章 適配器操作器 . 67
6.1 Helm 操作器 69
6.1.1 構建操作器 .70
6.1.2 完善CRD 75
6.1.3 檢查操作器的許可權 75
6.1.4 運行Helm 操作器 75
6.2 Ansible 操作器 76
6.2.1 構建操作器 .77
6.2.2 完善CRD 80
6.2.3 檢查操作器的許可權 80
6.2.4 運行Ansible 操作器 80
6.3 測試操作器 81
6.4 小結 .82
6.5 補充閱讀 82
第7 章 使用操作器SDK 構建Go 語言的操作器 . 83
7.1 初始化操作器 .84
7.2 操作器的範圍 .85
7.3 自定義資源定義 87
7.3.1 定義Go 類型 .88
7.3.2 CRD 清單 90
7.4 操作器許可權 90
7.5 控制器 91
7.6 編寫操作器的技巧 94
7.6.1 檢索資源94
7.6.2 創建子資源 .96
7.6.3 刪除子資源 .99
7.6.4 子資源的命名 .101
7.6.5 冪等性 101
7.6.6 操作器的影響 .102
7.7 在本地運行操作器 .103
7.8 訪客網站示例 104
7.9 小結 105
7.10 補充閱讀 106
第8 章 操作器生命周期管理器 107
8.1 OLM 自定義資源 108
8.1.1 集群服務版本 .108
8.1.2 目錄源 109
8.1.3 訂閱 .109
8.1.4 安裝計畫 110
8.1.5 操作器組 110
8.2 安裝OLM 111
8.3 使用OLM 113
8.3.1 探索操作器 119
8.3.2 刪除操作器 121
8.4 OLM 捆綁包的元數據檔案 121
8.4.1 自定義資源定義 122
8.4.2 集群服務版本檔案 122
8.4.3 包清單檔案 123
8.5 編寫集群服務版本檔案 123
8.5.1 生成檔案的骨架 123
8.5.2 元數據 125
8.5.3 操作器擁有的CRD .127
8.5.4 操作器依賴的CRD .131
8.5.5 安裝模式132
8.5.6 版本和更新 133
8.6 編寫包清單檔案 .134
8.7 本地運行 .135
8.7.1 前提條件135
8.7.2 構建OLM 捆綁包 .140
8.7.3 通過OLM 安裝操作器 142
8.7.4 測試正在運行的操作器 .144
8.8 訪客網站操作器示例 144
8.9 小結 145
8.10 補充閱讀 145
第9 章 操作器的理念 147
9.1 每個應用程式的SRE 147
9.2 不勞而獲 .148
9.2.1 自動化:計算機自動工作 148
9.2.2 徒勞無功:沒有持久價值的工作 .149
9.2.3 擴展的痛點:隨著系統擴展不斷加重的工作 .149
9.3 操作器:Kubernetes 應用程式可靠性工程 150
9.3.1 管理應用程式的狀態 151
9.3.2 傳送到軟體的黃金信號 .151
9.4 高度成功的操作器的七個習慣 153
9.5 小結 155
第10 章 親身參與 . 157
10.1 功能請求和報告錯誤 .158
10.2 貢獻代碼 159
10.3 共享操作器 .159
10.4 小結 160
附錄A 作為集群內部的部署運行操作器 . 161
附錄B 自定義資源驗證 163
附錄C 基於角色的訪問控制 . 167
作者介紹 171
封面介紹 171