兩本書的下載鏈接 下載鏈接 鏈接:https://pan.baidu.com/s/13gv0ZQRiHfvLwgwjsvUiEA 密碼:hi8o
Kubernetes權威指南第2版
目錄:
第1章 Kubernetes入門 1 1.1 Kubernetes是什么 1 1.2 為什么要用Kubernetes 4 1.3 從一個簡單的例子開始 5 1.3.1 環境準備 6 1.3.2 啟動MySQL服務 6 1.3.3 啟動Tomcat應用 9 1.3.4 通過瀏覽器訪問網頁 10 1.4 Kubernetes基本概念和術語 12 1.4.1 Master 12 1.4.2 Node 12 1.4.3 Pod 15 1.4.4 Label(標簽) 18 1.4.5 Replication Controller 22 1.4.6 Deployment 26 1.4.7 Horizontal Pod Autoscaler 28 1.4.8 StatefulSet 29 1.4.9 Service(服務) 30 1.4.10 Volume(存儲卷) 37 1.4.11 Persistent Volume 41 1.4.12 Namespace(命名空間) 42 1.4.13 Annotation(注解) 43 1.4.14 小結 44 第2章 Kubernetes實踐指南 45 2.1 Kubernetes安裝與配置 45 2.1.1 系統要求 45 2.1.2 使用kubeadm工具快速安裝Kubernetes集群 46 2.1.3 以二進制文件方式安裝Kubernetes集群 51 2.1.4 Kubernetes集群的安全設置 59 2.1.5 Kubernetes集群的網絡配置 64 2.1.6 內網中的Kubernetes相關配置 64 2.1.7 Kubernetes的版本升級 65 2.1.8 Kubernetes核心服務配置詳解 66 2.2 kubectl命令行工具用法詳解 86 2.2.1 kubectl用法概述 86 2.2.2 kubectl子命令詳解 88 2.2.3 kubectl參數列表 90 2.2.4 kubectl輸出格式 90 2.2.5 kubectl操作示例 92 2.3 深入掌握Pod 93 2.3.1 Pod定義詳解 93 2.3.2 Pod的基本用法 98 2.3.3 靜態Pod 103 2.3.4 Pod容器共享Volume 104 2.3.5 Pod的配置管理 106 2.3.6 在容器內獲取Pod信息(Downward API) 119 2.3.7 Pod生命周期和重啟策略 124 2.3.8 Pod健康檢查 125 2.3.9 玩轉Pod調度 127 2.3.10 Init Container(初始化容器) 149 2.3.11 Pod的升級和回滾 152 2.3.12 Pod的擴容和縮容 166 2.3.13 使用StatefulSet搭建MongoDB集群 171 2.4 深入掌握Service 180 2.4.1 Service定義詳解 181 2.4.2 Service基本用法 182 2.4.3 Headless Service 187 2.4.4 集群外部訪問Pod或Service 192 2.4.5 DNS服務搭建指南 196 2.4.6 自定義DNS和上游DNS服務器 204 2.4.7 Ingress:HTTP 7層路由機制 208 第3章 Kubernetes核心原理 226 3.1 Kubernetes API Server 原理分析 226 3.1.1 Kubernetes API Server概述 226 3.1.2 獨特的Kubernetes Proxy API接口 229 3.1.3 集群功能模塊之間的通信 230 3.2 Controller Manager 原理分析 231 3.2.1 Replication Controller 232 3.2.2 Node Controller 234 3.2.3 ResourceQuota Controller 235 3.2.4 Namespace Controller 237 3.2.5 Service Controller與Endpoint Controller 237 3.3 Scheduler原理分析 238 3.4 kubelet運行機制分析 242 3.4.1 節點管理 242 3.4.2 Pod管理 243 3.4.3 容器健康檢查 244 3.4.4 cAdvisor資源監控 245 3.5 kube-proxy 運行機制分析 247 3.6 深入分析集群安全機制 251 3.6.1 API Server認證管理(Authentication) 251 3.6.2 API Server授木又管理(Authorization) 253 3.6.3 Admission Control(準入控制) 272 3.6.4 Service Account 274 3.6.5 Secret私密憑據 279 3.7 網絡原理 282 3.7.1 Kubernetes網絡模型 282 3.7.2 Docker的網絡基礎 284 3.7.3 Docker的網絡實現 296 3.7.4 Kubernetes的網絡實現 304 3.7.5 Pod和Service網絡實戰 308 3.7.6 CNI網絡模型 321 3.7.7 Kubernetes網絡策略 331 3.7.8 開源的網絡組件 333 3.8 共享存儲原理 363 3.8.1 共享存儲機制概述 363 3.8.2 PV詳解 364 3.8.3 PVC詳解 368 3.8.4 PV和PVC的生命周期 370 3.8.5 StorageClass詳解 373 3.8.6 動態存儲管理實戰:GlusterFS 376 第4章 Kubernetes開發指南 388 4.1 REST簡述 388 4.2 Kubernetes API詳解 390 4.2.1 Kubernetes API概述 390 4.2.2 API版本 395 4.2.3 API Groups(API組) 395 4.2.4 API方法說明 397 4.2.5 API響應說明 398 4.3 使用Java程序訪問Kubernetes API 400 4.3.1 Jersey 401 4.3.2 Fabric8 412 4.3.3 使用說明 413 第5章 Kubernetes運維指南 434 5.1 Kubernetes集群管理指南 434 5.1.1 Node的管理 434 5.1.2 更新資源對象的Label 436 5.1.3 Namespace:集群環境共享與隔離 437 5.1.4 Kubernetes資源管理 441 5.1.5 資源緊缺時的Pod驅逐機制 475 5.1.6 Pod Disruption Budget(主動驅逐保護) 483 5.1.7 Kubernetes集群的高可用部署方案 485 5.1.8 Kubernetes集群監控 496 5.1.9 集群統一日志管理 513 5.1.10 Kubernetes審計日志(Audit Log) 522 5.1.11 使用Web UI(Dashboard)管理集群 523 5.1.12 Helm:Kubernetes應用包管理工具 527 5.2 Trouble Shooting指導 538 5.2.1 查看系統Event事件 538 5.2.2 查看容器日志 540 5.2.3 查看Kubernetes服務日志 541 5.2.4 常見問題 542 5.2.5 尋求幫助 546 5.3 Kubernetes開發中的新功能 546 5.3.1 Pod Preset(運行時參數注入策略) 546 5.3.2 Cluster Federation(集群聯邦) 553 5.3.3 容器運行時接口(Container Runtime Interface-CRI) 557 5.3.4 對GPU的支持 561 5.3.5 Kubernetes的演進路線(Roadmap)和開發模式 565 第6章 Kubernetes源碼導讀 568 6.1 Kubernetes源碼結構和編譯步驟 568 6.2 kube-apiserver進程源碼分析 572 6.2.1 進程啟動過程 572 6.2.2 關鍵代碼分析 574 6.2.3 設計總結 589 6.3 kube-controller-manager進程源碼分析 592 6.3.1 進程啟動過程 592 6.3.2 關鍵代碼分析 595 6.3.3 設計總結 603 6.4 kube-scheduler進程源碼分析 605 6.4.1 進程啟動過程 605 6.4.2 關鍵代碼分析 610 6.4.3 設計總結 617 6.5 kubelet進程源碼分析 619 6.5.1 進程啟動過程 619 6.5.2 關鍵代碼分析 624 6.5.3 設計總結 647 6.6 kube-proxy進程源碼分析 648 6.6.1 進程啟動過程 648 6.6.2 關鍵代碼分析 650 6.6.3 設計總結 665 6.7 kubectl進程源碼分析 666 6.7.1 kubectl create命令 667 6.7.2 rolling-update命令 671 Docker技術入門與實戰第2版
目錄
[0第0]2版前言
[0第0]1版前言
[0第0]一部分 基礎入門
[0第0]1章 初識容器與Docker 3
1.1 什么是Docker 3
1.2 為什么要使用Docker 5
1.3 Docker與虛擬化 7
1.4 本章小結 9
[0第0]2章 核心概念與安裝配置 10
2.1 核心概念 10
2.2 安裝Docker 11
2.2.1 Ubuntu環境下安裝Docker 12
2.2.2 CentOS環境下安裝Docker 14
2.2.3 通過腳本安裝 14
2.2.4 Mac OS環境下安裝Docker 15
2.2.5 Windows環境下安裝Docker 20
2.3 配置Docker服務 21
2.4 推薦實踐環境 22
2.5 本章小結 22
[0第0]3章 使用Docker鏡像 23
3.1 獲取鏡像 23
3.2 查看鏡像信息 25
3.3 搜尋鏡像 28
3.4 刪除鏡像 29
3.5 創建鏡像 31
3.6 存出和載入鏡像 32
3.7 上傳鏡像 33
3.8 本章小結 33
[0第0]4章 操作Docker容器 34
4.1 創建容器 34
4.2 終止容器 39
4.3 進入容器 40
4.4 刪除容器 42
4.5 導入和導出容器 42
4.6 本章小結 44
[0第0]5章 訪問Docker倉庫 45
5.1 Docker Hub公共鏡像市場 45
5.2 時速云鏡像市場 47
5.3 搭建本地私有倉庫 48
5.4 本章小結 50
[0第0]6章 Docker數據管理 51
6.1 數據卷 51
6.2 數據卷容器 52
6.3 利用數據卷容器來遷移數據 53
6.4 本章小結 54
[0第0]7章 端口映射與容器互聯 55
7.1 端口映射實現訪問容器 55
7.2 互聯機制實現便捷互訪 57
7.3 本章小結 59
[0第0]8章 使用Dockerfile創建鏡像 60
8.1 基本結構 60
8.2 指令說明 62
8.3 創建鏡像 67
8.4 使用.dockerig[0no0]re文件 67
8.5 佳實踐 67
8.6 本章小結 68
[0第0]二部分 實戰案例
[0第0]9章 操作系統 71
9.1 BusyBox 71
9.2 Alpine 72
9.3 Debian/Ubuntu 74
9.4 CentOS/Fedora 76
9.5 本章小結 77
[0第0]10章 為鏡像添加SSH服務 78
10.1 基于commit命令創建 78
10.2 使用Dockerfile創建 80
10.3 本章小結 82
[0第0]11章 Web服務與應用 83
11.1 Apache 83
11.2 Nginx 87
11.3 Tomcat 88
11.4 Jetty 92
11.5 LAMP 93
11.6 CMS 94
11.6.1 WordPress 94
11.6.2 Ghost 96
11.7 持續開發與管理 96
11.7.1 Jenkins 97
11.7.2 Gitlab 98
11.8 本章小結 99
[0第0]12章 數據庫應用 100
12.1 MySQL 100
12.2 MongoDB 102
12.2.1 使用官方鏡像 102
12.2.2 使用自定義Dockerfile 104
12.3 Redis 106
12.4 Memcached 108
12.5 CouchDB 108
12.6 Cassandra 109
12.7 本章小結 110
[0第0]13章 分布式處理與[0大0]數據平臺 111
13.1 RabbitMQ 111
13.2 Celery 113
13.3 Hadoop 114
13.4 Spark 115
13.4.1 使用官方鏡像 116
13.4.2 驗證 116
13.5 Storm 117
13.6 Elasticsearch 119
13.7 本章小結 120
[0第0]14章 編程開發 121
14.1 C/C++ 121
14.1.1 GCC 121
14.1.2 LLVM 122
14.1.3 Clang 122
14.2 Java 123
14.3 Python 124
14.3.1 使用官方的Python鏡像 124
14.3.2 使用PyPy 124
14.4 125
14.5 Go 127
14.5.1 搭建并運行Go容器 127
14.5.2 Beego 130
14.5.3 Gogs:基于Go的Git服務 130
14.6 PHP 130
14.7 Ruby 132
14.7.1 使用Ruby官方鏡像 132
14.7.2 JRuby 133
14.7.3 Ruby on Rails 134
14.8 Perl 135
14.9 R 136
14.10 Erlang 138
14.11 本章小結 140
[0第0]15章 容器與云服務 141
15.1 公有云容器服務 141
15.1.1 AWS 141
15.1.2 Google Cloud Platform 142
15.1.3 Azure 143
15.1.4 騰訊云 144
15.1.5 阿里云 144
15.1.6 華為云 144
15.1.7 UCloud 145
15.2 容器云服務 145
15.2.1 基本要素與關鍵特性 146
15.2.2 網易蜂巢 146
15.2.3 時速云 147
15.2.4 Daocloud 148
15.2.5 靈雀云 148
15.2.6 數人云 149
15.3 阿里云容器服務 150
15.4 時速云容器平臺 151
15.5 本章小結 153
[0第0]16章 容器實戰思考 154
16.1 Docker為什么[0會0]成功 154
16.2 研發人員該如何看容器 155
16.3 容器化開發模式 156
16.4 容器與生產環境 158
16.5 本章小結 160
[0第0]三部分 進階技能
[0第0]17章 Docker核心實現技術 163
17.1 基本架構 163
17.2 命[0名0]空間 165
17.3 控制組 167
17.4 聯合文件系統 169
17.5 Linux網絡虛擬化 171
17.6 本章小結 174
[0第0]18章 配置私有倉庫 175
18.1 安裝Docker Registry 175
18.2 配置TLS證書 177
18.3 管理訪問[0權0]限 178
18.4 配置Registry 181
18.4.1 示例配置 181
18.4.2 選項 183
18.5 批量管理鏡像 188
18.6 使用通[0知0]系統 190
18.6.1 相關配置 190
18.6.2 [0No0]tification的使用場景 192
18.7 本章小結 193
[0第0]19章 安全防護與配置 194
19.1 命[0名0]空間隔離的安全 194
19.2 控制組資源控制的安全 195
19.3 內核能力機制 195
19.4 Docker服務端的防護 197
19.5 更多安全特性的使用 197
19.6 使用[0第0]三方檢測工具 198
19.6.1 Docker Bench 198
19.6.2 clair 199
19.7 本章小結 199
[0第0]20章 高級網絡功能 201
20.1 網絡啟動與配置參數 201
20.2 配置容器DNS和主機[0名0] 203
20.3 容器訪問控制 204
20.4 映射容器端口到宿主主機的實現 206
20.5 配置docker0網橋 207
20.6 自定義網橋 208
20.7 使用OpenvSwitch網橋 209
20.8 創建一個點到點連接 211
20.9 本章小結 212
[0第0]21章 libnetwork插件化網絡功能 213
21.1 容器網絡模型 213
21.2 Docker網絡相關命令 215
21.3 構建跨主機容器網絡 216
21.4 本章小結 219
[0第0]四部分 開源項目
[0第0]22章 Etcd——高可用的鍵值數據庫 223
22.1 簡介 223
22.2 安裝和使用Etcd 224
22.3 使用etcdctl客戶端 228
22.3.1 數據類操作 230
22.3.2 非數據類操作 233
22.4 Etcd集群管理 236
22.4.1 構建集群 236
22.4.2 集群參數配置 238
22.5 本章小結 240
[0第0]23章 Docker三劍客之Docker Machine 241
23.1 簡介 241
23.2 安裝Machine 241
23.3 使用Machine 243
23.4 Machine命令 244
23.5 本章小結 247
[0第0]24章 Docker三劍客之Docker Com [p1o1s] e 248
24.1 簡介 248
24.2 安裝與卸載 249
24.3 Com [p1o1s] e命令說明 252
24.4 Com [p1o1s] e環境變量 257
24.5 Com [p1o1s] e模板文件 257
24.6 Com [p1o1s] e應用案例一:Web負載均衡 266
24.7 Com [p1o1s] e應用案例二:[0大0]數據Spark集群 271
24.8 本章小結 273
[0第0]25章 Docker三劍客之Docker Swarm 274
25.1 簡介 274
25.2 安裝Swarm 275
25.3 使用Swarm 277
25.4 使用其他服務發現后端 281
25.5 Swarm中的調度器 282
25.6 Swarm中的過濾器 284
25.7 本章小結 286
[0第0]26章 Mesos——[0優0]秀的集群資源調度平臺 287
26.1 簡介 287
26.2 Mesos安裝與使用 288
26.3 原理與架構 296
26.3.1 架構 296
26.3.2 基本單元 297
26.3.3 調度 297
26.3.4 高可用性 298
26.4 Mesos配置項解析 299
26.4.1 通用項 299
26.4.2 master專屬項 299
26.4.3 slave專屬項 301
26.5 日志與監控 304
26.6 常見應用框架 306
26.7 本章小結 307
[0第0]27章 Kubernetes——生產級容器集群平臺 308
27.1 簡介 308
27.2 核心概念 309
27.2.1 集群組件 311
27.2.2 資源抽象 312
27.2.3 輔助概念 315
27.3 快速體驗 318
27.4 安裝部署 322
27.5 重要組件 331
27.5.1 Etcd 332
27.5.2 kube-apiserver 332
27.5.3 kube-scheduler 333
27.5.4 kube-controller-manager 333
27.5.5 kubelet 334
27.5.6 kube-proxy 335
27.6 使用kubectl 337
27.6.1 獲取kubectl 337
27.6.2 命令格式 337
27.6.3 全局參數 338
27.6.4 子命令 339
27.7 網絡設計 351
27.8 本章小結 353
[0第0]28章 其他相關項目 354
28.1 平臺即服務方案 354
28.1.1 Deis 354
28.1.2 Flynn 355
28.2 持續集成平臺Drone 355
28.3 容器管理 357
28.3.1 Citadel 357
28.3.2 Shipyard 358
28.3.3 DockerUI 358
28.3.4 Pan [a0m0a0] x 358
28.3.5 Seagull 359
28.3.6 Dockerboard 361
28.4 編程開發 362
28.5 網絡支持 363
28.5.1 pipework 363
28.5.2 Flannel 364
28.5.3 Weave Net 364
28.5.4 Calico 365
28.6 日志處理 366
28.6.1 Docker-Fluentd 366
28.6.2 Logspout 367
28.6.3 Sematext-agent-docker 368
28.7 服務代理工具 368
28.7.1 Traefik 369
28.7.2 Muguet 370
28.7.3 nginx-proxy 370
28.8 標準與規范 372
28.9 其他項目 375
28.9.1 CoreOS 375
28.9.2 OpenStack支持 375
28.9.3 dockerize 376
28.9.4 Unikernel 378
28.9.5 容器化的虛擬機 378
28.10 本章小結 379
附錄
附錄A 常見問題總結 382
附錄B Docker命令查詢 388
附錄C 參考資源鏈接 393