Kubernetes 零基礎快速入門

Kubernetes 零基礎快速入門

作者: 張春曉
出版社: 清華大學
出版在: 2021-04-01
ISBN-13: 9787302576259
ISBN-10: 7302576254
裝訂格式: 平裝
總頁數: 236 頁





內容描述


Kubernetes為容器化的應用提供了資源調度、部署、運行、服務發現、擴容和縮容等功能,充分發揮了容器技術的潛力,給開發人員和運維人員帶來了極大的便利。本書由淺入深地講解Kubernetes的功能,涵蓋Kubernetes的核心組件,註重實戰,能夠幫助讀者快速掌握在各種雲平臺上設計和部署大型集群的技能。 本書共12章,主要內容包括Kubernetes的安裝方法、Kubernetes命令行工具、應用系統的部署、通過服務訪問應用、存儲管理、軟件包管理、網絡管理、Dashboard(儀表盤)以及集群管理等,最後通過兩個實戰案例(部署Spring Boot應用、安裝KubeSphere)讓讀者上手實踐Kubernetes。 本書結構清晰、易教易學、實例豐富、可操作性強,對易混淆和實用性強的內容作了重點提示和講解。本書適合使用Kubernetes的運維人員,也可以作為高等院校和培訓機構電腦相關專業師生的教學參考書。


目錄大綱


目 錄
第1章 Kubernetes初步入門 1
1.1 Kubernetes技術 1
1.1.1 什麼是Kubernetes 1
1.1.2 Kubernetes的發展歷史 1
1.1.3 為什麼使用Kubernetes 2
1.2 Kubernetes重要概念 3
1.2.1 Cluster 3
1.2.2 Master 3
1.2.3 Node 4
1.2.4 Pod 5
1.2.5 服務 5
1.2.6 卷 6
1.2.7 命名空間 6
第2章 安裝Kubernetes 7
2.1 通過軟件包管理工具安裝Kubernetes 7
2.1.1 軟件包管理工具 7
2.1.2 節點規劃 8
2.1.3 安裝前準備 9
2.1.4 etcd集群配置 9
2.1.5 Master節點配置15
2.1.6 Node節點配置17
2.1.7 配置網絡20
2.2 通過二進製文件安裝Kubernetes 21
2.2.1 安裝前準備21
2.2.2 部署etcd 24
2.2.3 部署flannel網絡27
2.2.4 部署Master節點28
2.2.5 部署Node節點32
2.3 通過源代碼安裝Kubernetes 34
2.3.1 本地二進製文件編譯34
2.3.2 Docker鏡像編譯36
第3章 Kubernetes命令行工具37
3.1 kubectl的使用方法37
3.1.1 kubectl用法概述37
3.1.2 kubectl的子命令39
3.1.3 Kubernetes資源對像類型41
3.1.4 kubectl輸出格式42
3.1.5 kubectl命令舉例42
3.2 kubeadm的使用方法45
3.2.1 kubeadm安裝方法45
3.2.2 kubeadm基本語法46
3.2.3 部署Master節點47
3.2.4 部署Node節點49
3.2.5 重置節點49
第4章 運行應用50
4.1 Deployment 50
4.1.1 什麼是Deployment 50
4.1.2 Deployment與ReplicaSet 51
4.1.3 運行Deployment 51
4.1.4 使用配置文件58
4.1.5 擴容和縮容62
4.1.6 故障轉移65
4.1.7 通過標籤控制Pod的位置66
4.1.8 刪除Deployment 69
4.1.9 DaemonSet 69
4.2 Job 71
4.2.1 什麼是Job 71
4.2.2 Job失敗處理73
4.2.3 Job的並行執行75
4.2.4 Job定時執行76
第5章 通過服務訪問應用78
5.1 服務及其功能78
5.1.1 服務基本概念78
5.1.2 服務的功能原理79
5.2 管理服務80
5.2.1 創建服務80
5.2.2 查看服務82
5.2.3 銷毀服務84
5.3 外部網絡訪問服務84
5.3.1 kube-proxy結合ClusterIP 84
5.3.2 通過NodePort 86
5.3.3 通過負載均衡87
5.4 通過CoreDNS訪問應用88
5.4.1 CoreDNS簡介88
5.4.2 安裝CoreDNS 88
第6章 存儲管理97
6.1 存儲卷97
6.1.1 什麼是存儲卷97
6.1.2 emptyDir卷98
6.1.3 hostPath卷101
6.1.4 NFS卷102
6.1.5 Secret卷103
6.1.6 iSCSI卷106
6.2 持久化存儲卷107
6.2.1 什麼是持久化存儲卷107
6.2.2 持久化存儲卷請求107
6.2.3 持久化存儲卷生命週期107
6.2.4 持久化存儲卷靜態綁定109
6.2.5 持久存儲捲動態綁定112
6.2.6 回收117
第7章 Kubernetes軟件包管理119
7.1 Helm 119
7.1.1 Helm相關概念119
7.1.2 Tiller 120
7.1.3 Chart 120
7.1.4 Repoistory 120
7.1.5 Release 120
7.2 安裝Helm 121
7.2.1 安裝客戶端121
7.2.2 安裝服務端122
7.3 Chart文件結構125
7.4 使用Helm 126
7.4.1 軟件倉庫的管理126
7.4.2 查找Chart 126
7.4.3 安裝Chart包128
7.4.4 查看已安裝Chart 131
7.4.5 刪除Release 132
第8章 Kubernetes網絡管理133
8.1 Kubernetes網絡基礎133
8.1.1 Kubernetes網絡模型133
8.1.2 命名空間134
8.1.3 veth網絡接口134
8.1.4 netfilter/iptables 135
8.1.5 網橋135
8.1.6 路由135
8.2 Kubernetes網絡實現136
8.2.1 Docker與Kubernetes網絡比較136
8.2.2 容器之間的通信140
8.2.3 Pod之間的通信142
8.2.4 Pod和服務之間的通信144
8.3 Flannel 153
8.3.1 Flannel簡介153
8.3.2 安裝Flannel 154
第9章 Kubernetes Dashboard 159
9.1 Kubernetes Dashboard配置文件159
9.1.1 Kubernetes角色控制159
9.1.2 kubernetes-dashboard.yaml 160
9.2 安裝Kubernetes Dashboard 165
9.2.1 官方安裝方法165
9.2.2 自定義安裝方法166
9.3 Dashboard使用方法169
9.3.1 Dashboard概況169
9.3.2 通過Dashboard創建資源171
第10章 Kubernetes集群管理172
10.1 管理節點172
10.1.1 節點的隔離與恢復172
10.1.2 節點的擴容177
10.2 管理資源對象標籤181
10.2.1 查看資源標籤181
10.2.2 添加資源標籤182
10.2.3 修改資源標籤183
10.2.4 刪除資源標籤183
10.3 管理命名空間184
10.3.1 創建命名空間184
10.3.2 刪除命名空間188
10.4 管理Kubernetes資源188
10.4.1 通過requests和limits屬性限制資源使用188
10.4.2 通過LimitRange限制資源使用191
10.4.3 資源配額193
10.4.4 資源服務質量管理194
10.5 Pod驅逐機制195
10.5.1 驅逐觸發條件195
10.5.2 軟驅逐和硬驅逐195
10.5.3 驅逐優先級196
10.5.4 防止波動196
10.6 Kubernetes集群的高可用部署方案197
10.6.1 Kubernetes集群的高可用性原理197
10.6.2 安裝環境準備198
10.6.3 安裝Master節點200
10.6.4 安裝haproxy 201
10.6.5 安裝keepalived 203
10.6.6 查看haproxy統計報告204
10.6.7 初始化Master節點205
10.6.8 安裝Calico網絡209
10.6.9 加入其餘的Master節點209
10.6.10 加入工作節點211
第11章 實戰1:在Kubernetes集群中部署Spring Boot應用程序212
11.1 應用系統概況212
11.2 部署MySQL 212
11.3 準備應用系統216
11.4 編寫Docker文件218
11.5 構建鏡像219
11.6 部署應用系統220
第12章 實戰2:安裝KubeSphere 223
12.1 安裝KubeSphere 223
12.1.1 安裝條件223
12.1.2 All-in-one安裝224
12.1.3 在已有集群上安裝KubeSphere 226
12.2 通過KubeSphere管理集群226
12.2.1 登錄KubeSphere控制台226
12.2.2 節點管理228
12.2.3 服務組件狀態查看229
12.2.4 項目管理229
12.2.5 工作負載管理230
12.2.6 服務管理233


作者介紹


張春曉,計算機軟件與理論碩士,長期從事UNIX及Linux系統維護達15年之久,對Shell編程有深入的研究。作者熱衷於UNIX的嚴謹與簡潔,又痴迷於Linux的自由與開放,整日與UNIX及Linux為伴,從中獲益匪淺。




相關書籍

雲原生安全與DevOps保障

作者 Julien Vehent 覃宇

2021-04-01

Exam Ref Az-300 Microsoft Azure Architect Technologies

作者 Pfeiffer Mike Schauland Derek Singh Gurvinder

2021-04-01

敏捷無敵之 DevOps 時代

作者 王立傑 許舟平 姚冬

2021-04-01