第1章 CoreOS簡介和安裝 1
1.1 CoreOS簡介 1
1.1.1 CoreOS是什麼 1
1.1.2 CoreOS的誕生和發展 2
1.1.3 CoreOS的用戶體驗 4
1.1.3.2 更快的啓動速度 4
1.1.4 CoreOS的適應場景 6
1.2 CoreOS核心組件 10
1.3 架設CoreOS集群 13
1.3.1 CoreOS支持的平颱 13
1.3.2 部署CoreOS集群 15
1.4 CoreOS的操作係統衍生 25
1.5 小結 26
第2章 使用CoreOS中的容器 27
2.1 應用容器入門 27
2.1.1 什麼是應用容器 27
2.1.2 應用容器技術的發展 28
2.1.3 命名空間(Namespace) 30
2.1.4 控製組(CGroup) 32
2.1.5 容器的應用場景 36
2.2 使用Docker容器 38
2.2.1 Docker容器工具概述 38
2.2.2 Docker命令行的基本使用 40
2.2.3 數據共享與備份 45
2.2.4 多容器通信 48
2.2.5 Docker API 50
2.3 Docker鏡像製作 50
2.3.1 Docker鏡像 50
2.3.2 從容器構建鏡像 51
2.3.3 Dockerfile 53
2.3.4 鏡像倉庫 57
2.4 使用Rkt容器 59
2.4.1 Rkt簡介 59
2.4.2 使用Rkt容器 61
2.4.3 鏡像管理 68
2.4.4 Rkt容器的生命周期 73
2.4.5 其他命令 76
2.5 Rkt的容器鏡像 78
2.5.1 AppC Spec規範 78
2.5.2 Aci鏡像工具 80
2.5.3 Aci鏡像簽名 86
2.5.4 Aci鏡像定義文件 88
2.5.5 鏡像分發 91
2.6 小結 93
第3章 Systemd節點資源管理 94
3.1 Systemd的服務管理模型 94
3.1.1 Systemd概述 94
3.1.2 Systemd的設計理念 95
3.1.3 Systemd的服務管理 96
3.1.4 日誌管理 98
3.1.5 服務的生命周期 101
3.1.6 服務的Unit文件 103
3.1.7 Unit文件占位符 111
3.1.8 Unit模闆 112
3.2 Systemd的係統資源管理 113
3.2.1 Systemd的Unit文件 113
3.2.2 定時器 115
3.2.3 路徑監控器 117
3.2.4 數據監控器 119
3.2.5 掛載文件係統 121
3.2.6 自動掛載文件係統 123
3.2.7 交換分區(虛擬內存) 125
3.3 Systemd工具集 126
3.3.1 Systemd係列工具概述 126
3.3.2 主機名、時間、地區信息管理 127
3.3.3 電源管理 128
3.3.4 啓動時間和運行狀態分析 129
3.3.5 輔助性命令工具 131
3.3.6 Systemd容器 134
3.4 小結 139
第4章 Fleet跨節點服務調度 140
4.1 Fleet簡介 140
4.1.1 Systemd服務管理的局限性 140
4.1.2 Fleet的服務調度 141
4.2 Fleet的基本操作 141
4.2.1 獲取集群信息 141
4.2.2 顯示集群服務 142
4.2.3 節點跳轉 143
4.2.4 跨節點執行命令 145
4.3 通過Unit文件運行跨節點調度的服務 145
4.3.1 Fleet的Unit文件 145
4.3.2 在集群上運行服務 146
4.3.3 Fleet的X-Fleet段 146
4.3.4 模闆參數 147
4.4 集群中的服務生命周期 147
4.4.1 提交服務 148
4.4.2 加載服務 149
4.4.3 啓動服務 149
4.4.4 停止服務 150
4.4.5 服務自動啓動 150
4.4.6 服務狀態和日誌 151
4.5 服務熱遷移 152
4.6 小結 152
第5章 Etcd分布式配置共享 153
5.1 基於Etcd的配置共享和集群組建 153
5.1.1 Etcd概述 153
5.1.2 Etcd集群的構建 158
5.1.3 Etcd的操作 164
5.1.4 Etcd集群的成員管理 169
5.1.5 重大故障的恢復 174
5.2 Etcd的應用程序接口 175
5.2.1 概述 175
5.2.2 Etcd數據操作 176
5.2.3 成員管理 185
5.2.4 集群的統計信息 187
5.2.5 隱藏數據節點 190
5.3 小結 192
第6章 CoreOS綜閤案例 193
6.1 案例一:分布式服務的監控 193
6.1.1 案例說明 193
6.1.2 方案實施 194
6.1.3 案例延伸 201
6.1.4 案例總結 202
6.2 案例二:應用層負載均衡 202
6.2.1 案例說明 202
6.2.2 方案實施 204
6.2.3 案例延伸 212
6.2.4 案例總結 217
6.3 小結 217
第7章 深入CoreOS的特性與集群架構 218
7.1 CoreOS的係統啓動配置 218
7.1.1 用戶數據文件 219
7.1.2 編寫用戶數據文件 222
7.1.3 驗證和修改用戶數據文件 230
7.2 CoreOS係統升級 232
7.2.1 具有CoreOS特色的係統升級 232
7.2.2 升級參數配置 236
7.2.3 執行係統升級 240
7.2.4 更好的升級策略 241
7.2.5 升級的迴滾 245
7.3 CoreOS的集群架構 247
7.3.1 單節點架構 247
7.3.2 小型集群 249
7.3.3 開發/測試環境集群 250
7.3.4 産品環境集群 252
7.4 小結 255
第8章 Kubernetes集群管理 256
8.1 Flannel網絡規劃 256
8.1.1 Flannel簡介 256
8.1.2 Flannel的安裝和使用 260
8.1.3 Flannel的配置 268
8.2 架設Kubernetes集群管理係統 269
8.2.1 Kubernetes簡介 269
8.2.2 Kubernetes的組成 270
8.2.3 部署Kubernetes集群管理係統 272
8.2.4 Kubernetes的基本操作 280
8.3 Kubernetes的插件機製 288
8.3.1 Kubernetes的內置插件 288
8.3.2 SkyDNS插件 289
8.3.3 KubeUI插件 293
8.4 Kubernetes應用案例 295
8.4.1 案例一:留言闆應用 295
8.4.2 案例二:在綫更新應用 302
8.5 小結 306
第9章 CoreOS小技巧 307
9.1 CoreOS使用技巧 307
9.1.1 擴展係統命令 307
9.1.2 運行有界麵的軟件 308
9.1.3 容器的默認語言和時區 310
9.1.4 JSON格式化 311
9.1.5 在CoreOS中安裝tmux和screen 312
9.1.6 修改core用戶的.bashrc文件 312
9.1.7 自定義SSH端口和配置 313
9.1.8 運行其他CoreOS中無法安裝的軟件 314
9.2 CoreOS周邊工具 315
9.2.1 使用Sysdig檢測容器的係統資源狀態 315
9.2.2 使用Calico實現容器級防火牆 317
9.3 小結 321
· · · · · · (
收起)