每天 5分鐘玩轉 Kubernetes
內容描述
Kubernetes 是容器編排引擎的事實標準,是繼大數據、雲計算和 Docker 之後又一熱門技術,而且未來相當一段時間內都會非常流行。對於IT行業來說,這是一項非常有價值的技術。對於IT從業者來說,掌握容器技術既是市場的需要,也是提升自我價值的重要途徑。
《每天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
作者介紹
CloudMan,十多年IT從業經驗,就職於國際知名IT企業,從事IT基礎設施實施服務,項目涉及服務器、存儲、網絡、虛擬化、雲計算等方面。CloudMan對新技術長期保持濃厚的興趣和學習熱情,十幾年來一直專注IT技術領域的鑽研與實踐。
CloudMan從2013年開始接觸OpenStack,負責公司OpenStack相關服務的規劃和實施工作;從2015年開始研究Docker和Kubernetes,是容器技術的深度實踐者,有很強的實戰經驗和技能;在其公眾號cloudman6連載相關文章,並出版圖書《每天5分鐘玩轉OpenStack》和《每天5分鐘玩轉Docker容器技術》,得到讀者廣泛認可。CloudMan希望通過本書大幅降低學習難度,幫助大家系統地學習和掌握Kubernetes。