YL13813 9787302496670 9787302479703
《每天5分鍾玩轉Kubernetes》共15章,係統介紹瞭 Kubernetes 的架構、重要概念、安裝部署方法、運行管理應用的技術、網絡存儲管理、集群監控和日誌管理等重要內容。書中通過大量實操案例深入淺齣地講解 Kubernetes 核心技術,是一本從入門到進階的實用Kubernetes 操作指導手冊。讀者在學習的過程中,可以跟著教程進行操作,在實踐中掌握 Kubernetes 的核心技能。在之後的工作中,則可以將本教程作為參考書,按需查找相關知識點。
《每天5分鍾玩轉 Kubernetes》主要麵嚮微服務軟件開發人員,以及 IT 實施和運維工程師等相關人員,也適閤作為高等院校和培訓學校相關專業的教學參考書。
第1章 先把 Kubernetes 跑起來 1
1.1 先跑起來 1
1.2 創建 Kubernetes 集群 2
1.3 部署應用 4
1.4 訪問應用 5
1.5 Scale 應用 6
1.6 滾動更新 7
1.7 小結 8
第2章 重要概念 9
第3章 部署 Kubernetes Cluster 13
3.1 安裝 Docker 14
3.2 安裝 kubelet、kubeadm 和 kubectl 14
3.3 用 kubeadm 創建 Cluster 14
3.3.1 初始化Master 14
3.3.2 配置 kubectl 16
3.3.3 安裝Pod網絡 16
3.3.4 添加 k8s-node1 和 k8s-node2 16
3.4 小結 18
第4章 Kubernetes 架構 19
4.1 Master 節點 19
4.2 Node 節點 20
4.3 完整的架構圖 21
4.4 用例子把它們串起來 22
4.5 小結 24
第5章 運行應用 25
5.1 Deployment 25
5.1.1 運行Deployment 25
5.1.2 命令 vs 配置文件 29
5.1.3 Deployment 配置文件簡介 30
5.1.4 伸縮 31
5.1.5 Failover 33
5.1.6 用label 控製 Pod 的位置 33
5.2 DaemonSet 36
5.2.1 kube-flannel-ds 36
5.2.2 kube-proxy 37
5.2.3 運行自己的 DaemonSet 38
5.3 Job 40
5.3.1 Pod 失敗的情況 41
5.3.2 Job 的並行性 43
5.3.3 定時 Job 45
5.4 小結 48
第6章 通過 Service 訪問 Pod 49
6.1 創建 Service 49
6.2 Cluster IP 底層實現 51
6.3 DNS 訪問 Service 53
6.4 外網如何訪問 Service 55
6.5 小結 58
第7章 Rolling Update 59
7.1 實踐 59
7.2 迴滾 61
7.3 小結 63
第8章 Health Check 64
8.1 默認的健康檢查 64
8.2 Liveness 探測 65
8.3 Readiness 探測 67
8.4 Health Check 在 Scale Up 中的應用 69
8.5 Health Check 在滾動更新中的應用 71
8.6 小結 75
第9章 數據管理 76
9.1 Volume 76
9.1.1 emptyDir 76
9.1.2 hostPath 78
9.1.3 外部 Storage Provider 79
9.2 PersistentVolume & PersistentVolumeClaim 81
9.2.1 NFS PersistentVolume 81
9.2.2 迴收 PV 84
9.2.3 PV 動態供給 86
9.3 一個數據庫例子 87
9.4 小結 91
第10章 Secret & Configmap 92
10.1 創建 Secret 92
10.2 查看 Secret 93
10.3 在Pod中使用Secret 94
10.3.1 Volume 方式 94
10.3.2 環境變量方式 96
10.4 ConfigMap 97
10.5 小結 100
第11章 Helm—Kubernetes的包管理器 101
11.1 Why Helm 101
11.2 Helm 架構 103
11.3 安裝 Helm 104
11.3.1 Helm 客戶端 104
11.3.2 Tiller服務器 105
11.4 使用Helm 106
11.5 chart 詳解 109
11.5.1 chart 目錄結構 109
11.5.2 chart 模闆 113
11.5.3 再次實踐 MySQL chart 115
11.5.4 升級和迴滾 release 118
11.5.5 開發自己的 chart 119
11.6 小結 126
第12章 網 絡 127
12.1 Kubernetes 網絡模型 127
12.2 各種網絡方案 128
12.3 Network Policy 129
12.3.1 部署 Canal 129
12.3.2 實踐 Network Policy 130
12.4 小結 135
第13章 Kubernetes Dashboard 136
13.1 安裝 136
13.2 配置登錄權限 137
13.3 Dashboard 界麵結構 139
13.4 典型使用場景 140
13.4.1 部署 Deployment 140
13.4.2 在綫操作 141
13.4.3 查看資源詳細信息 142
13.4.4 查看 Pod 日誌 142
13.5 小結 143
第14章 Kubernetes 集群監控 144
14.1 Weave Scope 144
14.1.1 安裝 Scope 144
14.1.2 使用 Scope 145
14.2 Heapster 151
14.2.1 部署 151
14.2.2 使用 152
14.3 Prometheus Operator 155
14.3.1 Prometheus 架構 159
14.3.2 Prometheus Operator 架構 161
14.3.3 部署 Prometheus Operator 162
14.4 小結 167
第15章 Kubernetes 集群日誌管理 168
15.1 部署 168
15.2 小結 173
寫在後 174
一篇 啓 程
第1章 鳥瞰容器生態係統 3
1.1 容器生態係統 3
1.2 本教程覆蓋的知識範圍 10
1.3 準備實驗環境 10
1.3.1 環境選擇 10
1.3.2 安裝 Docker 10
1.4 運行一個容器 11
1.5 小結 12
第二篇 容器技術
第2章 容器核心知識概述 15
2.1 What —— 什麼是容器 15
2.2 Why —— 為什麼需要容器 16
2.2.1 容器解決的問題 16
2.2.2 Docker 的特性 20
2.2.3 容器的優勢 20
2.3 How —— 容器是如何工作的 21
2.4 小結 24
第3章 Docker 鏡像 26
3.1 鏡像的內部結構 26
3.1.1 hello-world —— 小的鏡像 26
3.1.2 base 鏡像 27
3.1.3 鏡像的分層結構 30
3.2 構建鏡像 32
3.2.1 docker commit 32
3.2.2 Dockerfile 34
3.3 RUN vs CMD vs ENTRYPOINT 42
3.3.1 Shell 和 Exec 格式 42
3.3.2 RUN 44
3.3.3 CMD 44
3.3.4 ENTRYPOINT 45
3.3.5 佳實踐 46
3.4 分發鏡像 46
3.4.1 為鏡像命名 46
3.4.2 使用公共 Registry 49
3.4.3 搭建本地 Registry 51
3.5 小結 52
第4章 Docker 容器 55
4.1 運行容器 55
4.1.1 讓容器長期運行 56
4.1.2 兩種進入容器的方法 57
4.1.3 運行容器的佳實踐 59
4.1.4 容器運行小結 59
4.2 stop/start/restart 容器 60
4.3 pause / unpause 容器 61
4.4 刪除容器 61
4.5 State Machine 62
4.6 資源限製 65
4.6.1 內存限額 65
4.6.2 CPU 限額 66
4.6.3 Block IO 帶寬限額 68
4.7 實現容器的底層技術 69
4.7.1 cgroup 70
4.7.2 namespace 70
4.8 小結 72
第5章 Docker 網絡 74
5.1 none 網絡 74
5.2 host 網絡 75
5.3 bridge 網絡 76
5.4 user-defined 網絡 78
5.5 容器間通信 84
5.5.1 IP通信 84
5.5.2 Docker DNS Server 85
5.5.3 joined 容器 85
5.6 將容器與外部世界連接 87
5.6.1 容器訪問外部世界 87
5.6.2 外部世界訪問容器 90
5.7 小結 91
第6章 Docker 存儲 92
6.1 storage driver 92
6.2 Data Volume 94
6.2.1 bind mount 94
6.2.2 docker managed volume 96
6.3 數據共享 99
6.3.1 容器與 host 共享數據 99
6.3.2 容器之間共享數據 99
6.4 volume container 100
6.5 data-packed volume container 102
6.6 Data Volume 生命周期管理 103
6.6.1 備份 104
6.6.2 恢復 104
6.6.3 遷移 104
6.6.4 銷毀 104
6.7 小結 105
第三篇 容器進階知識
第7章 多主機管理 109
7.1 實驗環境描述 110
7.2 安裝 Docker Machine 111
7.3 創建 Machine 112
7.4 管理Machine 114
第8章 容器網絡 117
8.1 libnetwork & CNM 117
8.2 overlay 119
8.2.1 實驗環境描述 120
8.2.2 創建overlay網絡 121
8.2.3 在overlay中運行容器 122
8.2.4 overlay 網絡連通性 124
8.2.5 overlay 網絡隔離 126
8.2.6 overlay IPAM 127
8.3 macvlan 127
8.3.1 準備實驗環境 127
8.3.2 創建 macvlan 網絡 128
8.3.3 macvlan 網絡結構分析 130
8.3.4 用 sub-interface 實現多 macvlan 網絡 131
8.3.5 macvlan 網絡間的隔離和連通 132
8.4 flannel 136
8.4.1 實驗環境描述 137
8.4.2 安裝配置 etcd 137
8.4.3 build flannel 138
8.4.4 將 flannel 網絡的配置信息保存到 etcd 139
8.4.5 啓動 flannel 139
8.4.6 配置 Docker 連接 flannel 141
8.4.7 將容器連接到 flannel 網絡 143
8.4.8 flannel 網絡連通性 144
8.4.9 flannel 網絡隔離 146
8.4.10 flannel 與外網連通性 146
8.4.11 host-gw backend 146
8.5 weave 148
8.5.1 實驗環境描述 148
8.5.2 安裝部署 weave 149
8.5.3 在host1中啓動weave 149
8.5.4 在 host1 中啓動容器 150
8.5.5 在host2中啓動weave並運行容器 153
8.5.6 weave 網絡連通性 154
8.5.7 weave 網絡隔離 155
8.5.8 weave 與外網的連通性 156
8.5.9 IPAM 158
8.6 calico 158
8.6.1 實驗環境描述 159
8.6.2 啓動 etcd 159
8.6.3 部署 calico 160
8.6.4 創建calico網絡 161
8.6.5 在 calico 中運行容器 161
8.6.6 calico 默認連通性 164
8.6.7 calico policy 167
8.6.8 calico IPAM 169
8.7 比較各種網絡方案 170
8.7.1 網絡模型 171
8.7.2 Distributed Store 171
8.7.3 IPAM 171
8.7.4 連通與隔離 172
8.7.5 性能 172
第9章 容器監控 173
9.1 Docker自帶的監控子命令 173
9.1.1 ps 173
9.1.2 top 174
9.1.3 stats 175
9.2 sysdig 175
9.3 Weave Scope 179
9.3.1 安裝 179
9.3.2 容器監控 181
9.3.3 監控 host 184
9.3.4 多主機監控 186
9.4 cAdvisor 189
9.4.1 監控 Docker Host 189
9.4.2 監控容器 191
9.5 Prometheus 194
9.5.1 架構 194
9.5.2 多維數據模型 195
9.5.3 實踐 196
9.6 比較不同的監控工具 204
9.7 幾點建議 205
第10章 日誌管理 207
10.1 Docker logs 207
10.2 Docker logging driver 209
10.3 ELK 211
10.3.1 日誌處理流程 211
10.3.2 安裝 ELK 套件 212
10.3.3 Filebeat 214
10.3.4 管理日誌 216
10.4 Fluentd 220
10.4.1 安裝 Fluentd 221
10.4.2 重新配置 Filebeat 221
10.4.3 監控容器日誌 221
10.5 Graylog 222
10.5.1 Graylog 架構 222
10.5.2 部署 Graylog 223
10.5.3 配置 Graylog 225
10.5.4 監控容器日誌 227
10.6 小結 229
第11章 數據管理 230
11.1 從一個例子開始 230
11.2 實踐 Rex-Ray driver 232
11.2.1 安裝 Rex-Ray 232
11.2.2 配置 VirtualBox 234
11.2.3 創建Rex-Ray volume 236
11.2.4 使用 Rex-Ray volume 237
寫在後 243
這本書的內容給我留下瞭深刻的印象,尤其是它在Docker容器技術這一塊的講解,簡直是新手入門的福音。我之前對Docker一直是一知半解,知道它能打包應用,但具體怎麼操作,又是在什麼環境下運行,始終覺得模糊。這本書用非常直觀易懂的方式,從Docker的安裝、鏡像的構建,到容器的運行、網絡的配置,一步步地引導我深入瞭解。它沒有上來就拋齣一堆復雜的概念,而是從最基礎的“是什麼”、“為什麼”開始,然後慢慢過渡到“怎麼做”,這種循序漸進的學習方式讓我感到非常輕鬆。尤其是一些實操的例子,比如如何構建一個簡單的Web服務器鏡像,如何將本地文件映射到容器中,都寫得非常詳細,代碼示例也清晰明瞭,我跟著做瞭一遍,很快就掌握瞭基本的操作。更重要的是,它還講解瞭Docker Compose的使用,這讓我能更方便地管理多個容器組成的應用程序,極大地提高瞭我的開發效率。總的來說,這本書在Docker部分,真正做到瞭“玩轉”這個詞,讓我對容器技術有瞭更全麵、更深入的認識。
評分Kubernetes的部分,這本書真的給我打開瞭一扇新世界的大門。在此之前,我聽過Kubernetes的名號,知道它是做容器編排的,但具體是怎麼個“編排法”,又有什麼作用,總覺得高深莫測。這本書的作者用一種非常接地氣的方式,將Kubernetes的核心概念,比如Pod、Deployment、Service、Ingress等,一一拆解開來,用通俗易懂的語言進行解釋。它不像一些官方文檔那麼枯燥,而是通過一些生動的比喻和場景,讓我能夠快速理解這些抽象的概念。最讓我驚喜的是,它並沒有停留在理論層麵,而是提供瞭大量實用的集群部署和運維管理的案例。從最簡單的單節點部署,到後麵多節點集群的搭建,再到日常的監控、日誌管理、故障排查,幾乎涵蓋瞭Kubernetes運維的方方麵麵。我跟著書中的步驟,自己搭建瞭一個小型的Kubernetes集群,並且成功地部署和管理瞭我的應用,這讓我非常有成就感。這本書的價值在於,它不僅教你“是什麼”,更教你“怎麼做”,而且做到瞭“做得好”,非常適閤想要快速掌握Kubernetes運維的讀者。
評分這本書的另一個亮點在於它的“集群部署運維管理”的深度。我之前接觸過一些關於Kubernetes的書籍,但很多都停留在概念介紹或者基礎部署的層麵,真正深入到生産環境的運維管理,講解得不夠細緻。而這本書在這方麵做得非常齣色。它詳細介紹瞭如何進行高可用集群的搭建,如何進行資源的調度和擴縮容,如何進行應用的灰度發布和迴滾,以及如何進行日誌收集和性能監控。這些內容對於我這樣需要在實際工作中應用Kubernetes的讀者來說,非常有價值。書中提供的各種YAML配置文件的示例,以及相關的命令操作,都寫得非常清晰,並且解釋瞭每個參數的含義,讓我能夠融會貫通,舉一反三。我尤其喜歡它在故障排查部分的一些技巧和思路,這些都是在實際運維中非常寶貴的經驗,能夠幫助我快速定位和解決問題,避免造成更大的損失。
評分從讀者的角度來說,這本書在知識的廣度和深度上都做得非常平衡。它既能讓完全沒有接觸過Docker和Kubernetes的新手快速入門,又能讓有一定基礎的讀者在集群部署和運維管理方麵獲得更深入的提升。而且,這本書的語言風格非常親切,沒有使用過多的專業術語,即使是初學者也能輕鬆理解。一些復雜的概念,作者都會用生動的比喻來解釋,讓我能夠快速建立起直觀的理解。同時,對於一些進階的知識點,比如Kubernetes的網絡模型、存儲捲的管理、安全策略的配置等,也都有詳細的講解,並且提供瞭實際的操作案例。這使得這本書既有入門的友好度,又有深入實踐的價值,能夠滿足不同層次讀者的需求。總而言之,這是一本非常值得推薦的書籍,無論是對於想要學習容器技術的新手,還是對於需要提升Kubernetes運維技能的專業人士,都能從中獲益良多。
評分這本書的“每天5分鍾”這個概念,可以說是非常貼心和實用。我平時工作比較忙,很難抽齣大塊的時間來係統學習新技術。但這本書的結構設計,讓我能夠利用碎片化的時間,每天進步一點點。每個小節都非常精煉,講解清晰,讓我能夠在短時間內消化吸收一個知識點,不會感到壓力過大。而且,這種“短平快”的學習方式,反而更能激發我的學習興趣,讓我覺得學習是一個持續不斷、充滿樂趣的過程。比如,在學習Docker的時候,可能今天就掌握瞭如何創建鏡像,明天就學會瞭如何運行容器,後天就理解瞭網絡配置,這種循序漸進的積纍,讓我感覺自己每天都在進步,非常有成就感。同樣,在Kubernetes的部分,每天學習一個核心概念,或者掌握一個運維技巧,積少成多,不知不覺中就建立起瞭完整的知識體係。這種“潤物細無聲”的學習方法,對於像我這樣時間精力有限的讀者來說,簡直是量身定製。
本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度,google,bing,sogou 等
© 2025 book.tinynews.org All Rights Reserved. 静思书屋 版权所有