Kubernetes 權威指南 : 從 Docker 到 Kubernetes 實踐全接觸 (紀念版) Kubernetes权威指南:从Docker到Kubernetes实践全接触(纪念版)

龔正, 吳治輝, 王偉, 崔秀龍, 等

已過版

買這商品的人也買了...

相關主題

商品描述

《Kubernetes權威指南:從Docker到Kubernetes實踐全接觸(紀念版)》內容提要 Kubernetes 是由谷歌開源的Docker 容器集群管理系統,為容器化的應用提供了資源調度、部署運行、服務發現、擴容及縮容等一整套功能。《Kubernetes 權威指南:從Docker 到Kubernetes 實踐全接觸(紀念版)》從架構師、開發人員和運維人員的角度,闡述了Kubernetes 的基本概念、實踐指南、核心原理、開發指導、運維指南及源碼分析等內容,圖文並茂、內容豐富、由淺入深、講解全面;圍繞著生產環境中可能出現的問題,給出了大量的典型案例,比如安全配置、網絡方案、共享存儲方案、高可用性方案及Trouble Shooting 技巧等,有很強的實戰指導意義。《Kubernetes權威指南:從Docker到Kubernetes實踐全接觸(紀念版)》隨著Kubernetes 版本更新不斷完善,目前涵蓋了Kubernetes 從v1.0 到v1.6 版本的全部特性,盡力為Kubernetes 用戶提供全方位的指南。 無論是對於軟件工程師、測試工程師、運維工程師、軟件架構師、技術經理,還是對於資深 IT 人士來說,《Kubernetes權威指南:從Docker到Kubernetes實踐全接觸(紀念版)》都極具參考價值。

作者簡介

龔正/ HPE高級顧問
擁有十多年的IT從業經驗,具備豐富的雲計算、大數據分析和大型企業級應用的架構設計和實施經驗,是電信、金融、互聯網等領域的資深專家。

吳治輝/ HPE資深架構師
擁有超過15年的軟件研發經驗,專注於電信軟件和雲計算方面的軟件研發,擁有豐富的大型項目架構設計經驗,是業界少有的具備很強Coding能力的S級資深架構師,也是《ZeroC Ice權威指南》《架構解密:從分佈式到微服務》的作者。

王偉/ HPE資深系統架構師、大數據和雲計算技術專家
擁有多年IT行業從業經驗,參與過多個大型應用的架構設計、系統開發和實施落地,精通大數據、雲計算及大型系統架構和開發的相關技術,對互聯網和電信行業的熱點技術有著深刻的理解,是雲計算和大數據方面的技術專家。

崔秀龍/ HPE資深架構師
開源軟件、自動化愛好者,擁有十多年從業經驗,對軟件生命週期的各個環節均有深刻的理解。

閆健勇/ HPE高級項目經理、總架構師
擁有超過15年的電信行業系統建設經驗,主導了多項電信大型系統的架構設計和管理,對於雲計算和大數據在電信行業中的應用擁有豐富的經驗。

崔曉寧/ HPE高級顧問
擁有超過7年的測試諮詢和質量管理經驗,在雲計算、大數據和分佈式運算架構下的業務質量控制方面有非常豐富的項目實踐和心得,並對推動組織架構優化有豐富的經驗。幫助多個超過百人的大型項目建立軟件產品管理規範和體系,並對其運營提供指導。

劉曉紅/ HPE高級諮詢顧問
擁有超過10年的電信行業從業經驗,親歷中國移動BSS/OSS領域核心系統的建設發展歷程,具備豐富的諮詢規劃、需求分析、產品設計、項目管理、測試管理經驗,專注於雲計算、大數據等前沿技術的研究。

目錄大綱

第1章Kubernetes入門1 
1.1Kubernetes是什麼1 
1.2為什麼要用Kubernetes4 
1.3從一個簡單的例子開始5 
1.3.1環境準備6 
1.3.2啟動MySQL服務6 
1.3.3啟動Tomcat應用9 
1.3.4通過瀏覽器訪問網頁10 
1.4Kubernetes基本概念和術語12 
1.4.1Master12 
1.4.2Node12 
1.4.3Pod15 
1.4.4Label(標籤)18 
1.4.5ReplicationController22 
1.4.6Deployment26 
1.4.7Horizo​​ntalPodAutoscaler28 
1.4.8StatefulSet29 
1.4.9Service(服務)30 
1.4.10Volume(存儲卷)37 
1.4.11PersistentVolume41 
1.4.12Namespace(命名空間)42 
1.4.13Annotation(註解)43 
1.4.14小結44 
第2章Kubernetes實踐指南45 
2.1Kubernetes安裝與配置45 
2.1.1系統要求45
2.1.2使用kubeadm工具快速安裝Kubernetes集群46 
2.1.3以二進製文件方式安裝Kubernetes集群51 
2.1.4Kubernetes集群的安全設置59 
2.1.5Kubernetes集群的網絡配置64 
2.1.6內網中的Kubernetes相關配置64 
2.1 .7Kubernetes的版本升級65 
2.1.8Kubernetes核心服務配置詳解66 
2.2kubectl命令行工具用法詳解86 
2.2.1kubectl用法概述86 
2.2.2kubectl子命令詳解88 
2.2.3kubectl參數列表90 
2.2.4kubectl輸出格式90 
2.2.5kubectl操作示例92 
2.3深入掌握Pod93 
2.3.1Pod定義詳解93 
2.3.2Pod的基本用法98 
2.3.3靜態Pod103 
2.3.4Pod容器共享Volume104 
2.3.5Pod的配置管理106 
2.3.6在容器內獲取Pod信息(DownwardAPI) 119 
2.3.7Pod生命週期和重啟策略124 
2.3.8Pod健康檢查125 
2.3.9玩轉Pod調度127 
2.3.10InitContainer(初始化容器)149 
2.3.11Pod的升級和回滾152
2.3.12Pod的擴容和縮容166 
2.3.13使用StatefulSet搭建MongoDB集群171 
2.4深入掌握Service180 
2.4.1Service定義詳解181 
2.4.2Service基本用法182 
2.4.3HeadlessService187 
2.4.4集群外部訪問Pod或Service192 
2.4.5DNS服務搭建指南196 
2.4.6自定義DNS和上游DNS服務器204 
2.4.7Ingress:HTTP7層路由機制208 
第3章Kubernetes核心原理226 
3.1KubernetesAPIServer原理分析226 
3.1.1KubernetesAPIServer概述226 
3.1.2獨特的KubernetesProxyAPI接口229 
3.1. 3集群功能模塊之間的通信230 
3.2ControllerManager原理分析231 
3.2.1ReplicationController232 
3.2.2NodeController234 
3.2.3ResourceQuotaController235 
3.2.4NamespaceController237 
3.2.5ServiceController與EndpointController237 
3.3Scheduler原理分析238
3.4kubelet運行機制分析242 
3.4.1節點管理242 
3.4.2Pod管理243 
3.4.3容器健康檢查244 
3.4.4cAdvisor資源監控245 
3.5kube—proxy運行機制分析247 
3.6深入分析集群安全機制251 
3.6.1APIServer認證管理(Authentication)251 
3.6.2APIServer授權管理(Authorization)253 
3.6.3AdmissionControl(准入控制)272 
3.6.4ServiceAccount274 
3.6.5Secret私密憑據279 
3.7網絡原理282 
3.7.1Kubernetes網絡模型282 
3.7.2Docker的網絡基礎284 
3.7. 3Docker的網絡實現296 
3.7.4Kubernetes的網絡實現304 
3.7.5Pod和Service網絡實戰308 
3.7.6CNI網絡模型321 
3.7.7Kubernetes網絡策略331 
3.7.8開源的網絡組件333 
3.8共享存儲原理363 
3.8.1共享存儲機制概述363 
3.8.2PV詳解364 
3.8.3PVC詳解368 
3.8.4PV和PVC的生命週期370
3.8.5StorageClass詳解373 
3.8.6動態存儲管理實戰:GlusterFS376 
第4章Kubernetes開髮指南388 
4.1REST簡述388 
4.2KubernetesAPI詳解390 
4.2.1KubernetesAPI概述390 
4.2.2API版本395 
4.2.3APIGroups(API組)395 
4.2. 4API方法說明397 
4.2.5API響應說明398 
4.3使用Java程序訪問KubernetesAPI400 
4.3.1Jersey401 
4.3.2Fabric8412 
4.3.3使用說明413 
第5章Kubernetes運維指南434 
5.1Kubernetes集群管理指南434 
5.1.1Node的管理434 
5.1. 2更新資源對象的Label436 
5.1.3Namespace:集群環境共享與隔離437 
5.1.4Kubernetes資源管理441 
5.1.5資源緊缺時的Pod驅逐機制475 
5.1.6PodDisruptionBudget(主動驅逐保護)483 
5.1.7Kubernetes集群的高可用部署方案485 
5.1.8Kubernetes集群監控496 
5.1.9集群統一日誌管理513
5.1.10Kubernetes審計日誌(AuditLog)522 
5.1.11使用WebUI(Dashboard)管理集群523 
5.1.12Helm:Kubernetes應用包管理工具527 
5.2TroubleShooting指導538 
5.2.1查看系統Event事件538 
5.2.2查看容器日誌540 
5.2 .3查看Kubernetes服務日誌541 
5.2.4常見問題542 
5.2.5尋求幫助546 
5.3Kubernetes開發中的新功能546 
5.3.1PodPreset(運行時參數注入策略)546 
5.3.2ClusterFederation(集群聯邦)553 
5.3.3容器運行時接口(ContainerRuntimeInterface—CRI)557 
5.3.4對GPU的支持561 
5.3.5Kubernetes的演進路線(Roadmap)和開發模式565 
第6章Kubernetes源碼導讀568 
6.1Kubernetes源碼結構和編譯步驟568 
6.2kube—apiserver進程源碼分析572 
6.2.1進程啟動過程572 
6.2.2關鍵代碼分析574 
6.2.3設計總結589 
6.3kube—controller—manager進程源碼分析592 
6.3.1進程啟動過程592
6.3.2關鍵代碼分析595 
6.3.3設計總結603 
6.4kube—scheduler進程源碼分析605 
6.4.1進程啟動過程605 
6.4.2關鍵代碼分析610 
6.4.3設計總結617 
6.5kubelet進程源碼分析619 
6.5.1進程啟動過程619 
6.5.2關鍵代碼分析624 
6.5.3設計總結647 
6.6kube—proxy進程源碼分析648 
6.6.1進程啟動過程648 
6.6.2關鍵代碼分析650 
6.6.3設計總結665 
6.7kubectl進程源碼分析666 
6.7.1kubectlcreate命令667 
6.7.2rolling—update命令671