Kubernetes實戰 Kubernetes Best Practices: Blueprints for Building Successful Applications on Kubernetes

Brendan Burns, Eddie Villalba, Dave Strebel and Lachlan Evenson 譯者 陳亮//王磊//張揚

商品描述

在本書中,位在分佈式系統、企業應用開發和開源領域有著豐富經驗的Kubernetes 專家將會對如何使用Kubernetes 容器編排系統構建應用進行全程指導。
本書內容豐富,涵蓋開發人員的工作流程、監控和度量指標、配置管理、持續集成和測試、版本控制與發布、
應用程序的全球化部署、資源管理、網絡、Pod安全、集策略與治理、多集管理、外部服務集成、機器學習、
如何在Kubernetes上構建更高層次的平台、狀態管理和有狀態應用程序、許可控制與授權等,是一本非常全面的實踐指南。

作者簡介

Brendan Burns,微軟Azure的傑出工程師,也是Kubernetes開源項目的聯合創始人,現為微軟副總裁,從事雲應用​​的開發工作已有十多年。

Eddie Villalba,微軟商業軟件工程部門的軟件工程師,專注於開源雲和Kubernetes。
他幫助過許多用戶將Kubernetes 用於應用程序。

Dave Strebel,微軟Azure的全球雲原生架構師,專注於開源雲和Kubernetes。
他深度參與了Kubernetes開源項目,為Kubernetes發布團隊提供幫助並領導SIG-Azure工作組。

Lachlan Evenson,微軟Azure的容器計算團隊的首席開發經理,他通過動手實操教學和會議演講幫助許多人去了解Kubernetes。

譯者簡介

陳亮 前ThoughtWorks 高級諮詢師、資深Tech Lead、全棧工程師。
十年以上軟件開發經驗,領導過眾多國內外高端定制項目交付,覆蓋通信、互聯網、房地產、汽車、製造等行業。曾為多家大型企業提供Cloud Native、質量內建、DDD等相關諮詢與培訓服務,對於敏捷開發管理、敏捷工程實踐、DevOps流程與技術、DDD、微服務架構有著豐富經驗。

王磊 資深技術諮詢師。
十年以上軟件開發經驗,覆蓋金融、通信、互聯網、汽車等行業。帶隊交付了多個國內外項目,對於微服務架構、DDD、敏捷工程實踐、DevOps流程與技術、分佈式開發、數據庫性能調優、開發有著豐富經驗。

張揚 ThoughtWorks 資深 DevOps 諮詢師,十餘年 IT 行業工作經驗,曾任職 IBM, DaoCloud 等企業。
近幾年主要圍繞企業 DevOps 轉型和雲原生相關技術諮詢、方案設計和實施交付等工作。熱衷技術交流和分享,中國 DevOps 社區核心組織者,社區文化的忠實擁躉。

目錄大綱

目錄
前言
第1章搭建一個基本服務
1.1應用程序概覽
1.2配置文件管理
1.3使用Deployment創建多副本服務
1.4為HTTP流量配置外部Ingress
1.5使用ConfigMap配置應用程序
1.6使用Secret管理認證
1.7部署簡單的有狀態數據庫
1.8使用服務創建TCP負載均衡器
1.9使用Ingress將流量路由到靜態文件服務器
1.10使用Helm參數化應用程序
1.11部署服務的最佳實踐
1.12小結

第2章開發者工作流
2.1目的
2.2搭建開發集群
2.3為多個開發者搭建共享集群
2.4啟動開發者工作流
2.5環境初始化
2.6啟動開發
2.7啟動測試與調試
2.8搭建開發環境的最佳實踐
2.9小結

第3章監控與日誌
3.1指標與日誌
3.2監控技術
3.3監控模式
3.4 Kubernetes指標概述
3.5應該監控什麼指標
3.6監控工具
3.7使用Prometheus監控Kubernetes
3.8日誌概述
3.9日誌工具
3.10使用EFK記錄日誌
3.11告警
3.12監控、日誌及告警的最佳實踐
3.13小結

第4章配置、機密以及RBAC
4.1通過ConfigMap和Secret配置應用
4.2 ConfigMap和Secret API的最佳實踐
4.3 RBAC
4.4小結

第5章持續集成、測試和部署
5.1版本控制
5.2持續集成
5.3測試
5.4鏡像構建
5.5為鏡像標記標籤
5.6持續部署
5.7部署策略
5.8生產環境中的測試
5.9搭建流水線並進行混沌試驗
5.10 CI/CD的最佳實踐
5.11小結

第6章版本控制、發布和部署
6.1版本控制
6.2發布
6.3部署
6.4綜合示例
6.5小結

第7章全球化應用的分發和預演
7.1鏡像的分發
7.2參數化部署
7.3全球流量負載均衡
7.4可靠的全球化部署
7.5如何應對出現的問題
7.6全球化部署的最佳實踐
7.7小結

第8章資源管理
8.1 Kubernetes Scheduler
8.2高級調度技術
8.3 Pod資源管理
8.4資源管理的最佳實踐
8.5小結

第9章網絡、網絡安全與服務網格
9.1 Kubernetes的網絡原則
9.2網絡插件
9.3 Kubernetes中的服務
9.4網絡安全策略
9.5服務網格
9.6小結

第10章Pod和容器安全
10.1 PodSecurityPolicy API
10.2工作負載隔離和RuntimeClass
10.3其他Pod和容器安全注意事項
10.4小結

第11章集群的策略和治理
11.1為什麼策略和治理很重要
11.2這裡所說的策略有何不同
11.3雲原生策略引擎
11.4 Gatekeeper簡介
11.5審計
11.6策略和治理的最佳實踐
11.7小結

第12章多集群管理
12.1為什麼需要多集群
12.2多集群設計的考量
12.3多集群部署管理
12.4 GitOps集群管理方式
12.5多集群管理工具
12.6 Kubernetes Federation
12.7多集群管理的最佳實踐
12.8小結

第13章集成外部服務和Kubernetes
13.1將外部服務導入Kubernetes
13.2將Kubernetes服務導出到外部
13.3在Kubernetes之間共享服務
13.4第三方工具
13.5連接集群和外部服務的最佳實踐
13.6小結

第14章在Kubernetes上運行機器學習工作負載
14.1為什麼Kubernetes非常適合機器學習
14.2機器學習工作流
14.3 Kubernetes集群管理員與機器學習
14.4數據科學家關心的事
14.5在Kubernetes上運行機器學習工作負載的最佳實踐
14.6小結

第15章在Kubernetes上構建高層應用的模式
15.1開發高層抽象的方法
15.2擴展Kubernetes
15.3構建平台時的設計考量
15.4構建應用平台的最佳實踐
15.5小結

第16章管理狀態和有狀態應用
16.1捲和卷掛載
16.2 Kubernetes存儲
16.3有狀態應用
16.4小結

第17章准入控制和授權
17.1准入控制
17.2授權
17.3小結
第18章總結