Kubernetes經(jīng)典實(shí)例
馬晶慧 譯
出版時(shí)間:2018年10月
頁數(shù):212
如果你們公司正在準(zhǔn)備采用云端原生計(jì)算機(jī)架構(gòu),那么這本書將向你介紹如何成功地使用Kubernetes,它是自動(dòng)部署、擴(kuò)大與縮小規(guī)模以及容器化應(yīng)用程序管理方面的事實(shí)上的標(biāo)準(zhǔn)。本書通過80多個(gè)久經(jīng)考驗(yàn)的技巧,快速地向開發(fā)者、系統(tǒng)管理員和架構(gòu)師介紹
Kubernetes的入門知識(shí),并掌握它所提供的強(qiáng)大的API。
在本書中,本書作者提供了在開發(fā)環(huán)境和產(chǎn)品環(huán)境中,安裝、使用Kubernetes以及與之交互的具體解決方案。并介紹了如何改造系統(tǒng)來滿足具體的需求,以及熟悉Kubernetes更廣泛的生態(tài)環(huán)境。每個(gè)章節(jié)介紹的技巧都以常用的“問題-解決方案-討論”的過程來描述。
本書中的技巧主要有:
● 創(chuàng)建Kubernetes集群。
● 使用Kubernetes命令行界面。
● 管理基本的workload類型。
● 使用服務(wù)。
● 探索Kubernetes API。
● 管理有狀態(tài)的非云端原生應(yīng)用。
● 使用卷與配置數(shù)據(jù)。
● 集群級(jí)別與應(yīng)用程序級(jí)別的規(guī)模伸縮。
● 應(yīng)用程序的安全。
● 監(jiān)視與日志。
● 維護(hù)與排除故障。
- 前言
- 第1章 初識(shí)Kubernetes
- 1.1 無需安裝即可使用Kubernetes
- 1.2 安裝Kubernetes的命令行界面和kubectl
- 1.3 安裝Minikube并運(yùn)行本地的Kubernetes實(shí)例
- 1.4 在本地使用Minikube進(jìn)行開發(fā)
- 1.5 在Minikube上運(yùn)行應(yīng)用程序
- 1.6 使用Minikube訪問儀表盤
- 第2章 創(chuàng)建Kubernetes集群
- 2.1 安裝kubeadm以創(chuàng)建Kubernetes集群
- 2.2 使用kubeadm創(chuàng)建Kubernetes集群
- 2.3 從GitHub上下載Kubernetes
- 2.4 下載客戶端和服務(wù)器端可執(zhí)行文件
- 2.5 使用hyperkube映像通過Docker運(yùn)行Kubernetes主節(jié)點(diǎn)
- 2.6 編寫systemd單元文件來運(yùn)行Kubernetes的組件
- 2.7 在Google Kubernetes引擎上創(chuàng)建Kubernetes集群
- 2.8 在Azure容器服務(wù)上創(chuàng)建Kubernetes集群
- 第3章 學(xué)習(xí)使用Kubernetes客戶端
- 3.1 查看資源
- 3.2 刪除資源
- 3.3 使用kubectl觀察資源的變化
- 3.4 使用kubectl編輯資源
- 3.5 通過kubectl解釋資源和字段
- 第4章 創(chuàng)建與修改基礎(chǔ)的工作負(fù)載
- 4.1 通過kubectl run創(chuàng)建部署
- 4.2 通過清單文件創(chuàng)建對(duì)象
- 4.3 從零創(chuàng)建pod的清單文件
- 4.4 通過kubectl run創(chuàng)建部署
- 4.5 更新部署
- 第5章 使用服務(wù)
- 5.1 通過創(chuàng)建服務(wù)來公布應(yīng)用程序
- 5.2 驗(yàn)證服務(wù)的DNS注冊(cè)項(xiàng)
- 5.3 改變服務(wù)類型
- 5.4 在Minikube上配置ingress controller
- 5.5 從集群外部訪問服務(wù)
- 第6章 探索Kubernetes的API與關(guān)鍵元數(shù)據(jù)
- 6.1 發(fā)現(xiàn)Kubernetes上API的訪問點(diǎn)
- 6.2 掌握Kubernetes清單文件的結(jié)構(gòu)
- 6.3 通過創(chuàng)建命名空間避免命名沖突
- 6.4 設(shè)置命名空間的配額
- 6.5 給對(duì)象貼標(biāo)簽
- 6.6 使用標(biāo)簽進(jìn)行查詢
- 6.7 通過命令注解資源
- 第7章 管理具體的工作負(fù)載
- 7.1 運(yùn)行批處理
- 7.2 在Pod內(nèi)按照計(jì)劃時(shí)間運(yùn)行任務(wù)
- 7.3 在每個(gè)節(jié)點(diǎn)上運(yùn)行基礎(chǔ)設(shè)施的服務(wù)
- 7.4 管理有狀態(tài)的主從應(yīng)用
- 7.5 影響Pod的啟動(dòng)行為
- 第8章 卷與配置數(shù)據(jù)
- 8.1 通過本地卷在容器間交換數(shù)據(jù)
- 8.2 通過Secret類型的卷將API的訪問密鑰傳遞給pod
- 8.3 提供配置數(shù)據(jù)給應(yīng)用程序
- 8.4 在Minkube內(nèi)使用持久卷
- 8.5 掌握Minikube上數(shù)據(jù)的持久性
- 8.6 在GKE上動(dòng)態(tài)配置持久性存儲(chǔ)空間
- 第9章 伸縮
- 9.1 部署的伸縮
- 9.2 在GKE中自動(dòng)調(diào)整集群的大小
- 9.3 在AWS中自動(dòng)調(diào)整集群的大小
- 9.4 在GKE上使用pod的橫向自動(dòng)伸縮
- 第10章 安全
- 10.1 賦予應(yīng)用程序唯一的身份
- 10.2 列舉并查看訪問控制信息
- 10.3 控制資源的訪問權(quán)限
- 10.4 加強(qiáng)pod的安全
- 第11章 監(jiān)控與日志
- 11.1 訪問容器的日志
- 11.2 使用存活探針修復(fù)失敗狀態(tài)
- 11.3 使用就緒探針來控制pod的訪問流
- 11.4 向部署添加存活探針和就緒探針
- 11.5 在Minikube上激活Heapster監(jiān)視資源
- 11.6 在Minikube上使用Prometheus
- 11.7 在Minikube上使用Elasticsearch-Fluentd-Kibana
- 第12章 維護(hù)與故障排除
- 12.1 啟用kubectl的自動(dòng)補(bǔ)齊
- 12.2 刪除服務(wù)上的pod
- 12.3 從集群外部訪問集群IP的服務(wù)
- 12.4 掌握并解析資源的狀態(tài)
- 12.5 調(diào)試pod
- 12.6 集群狀態(tài)的詳細(xì)快照
- 12.7 添加Kubernetes工作節(jié)點(diǎn)
- 12.8 抽出Kubernetes節(jié)點(diǎn)以實(shí)施維護(hù)
- 12.9 管理etcd
- 第13章 Kubernetes開發(fā)
- 13.1 編譯源代碼
- 13.2 編譯特定的組件
- 13.3 如何使用Python客戶端與Kubernetes API交互
- 13.4 使用自定義的資源擴(kuò)展API
- 第14章 Kubernetes的生態(tài)系統(tǒng)
- 14.1 安裝Helm(Kubernetes的包管理器)
- 14.2 利用Helm安裝應(yīng)用程序
- 14.3 利用Helm創(chuàng)建自己的圖表打包應(yīng)用程序
- 14.4 將Docker Compose文件轉(zhuǎn)換成Kubernetes清單文件
- 14.5 使用kubicorn創(chuàng)建Kubernetes集群
- 14.6 在版本控制中保存加密的secret
- 14.7 利用kubeless部署函數(shù)
- 附錄A 資源
書名:Kubernetes經(jīng)典實(shí)例
譯者:馬晶慧 譯
國內(nèi)出版社:中國電力出版社
出版時(shí)間:2018年10月
頁數(shù):212
書號(hào):978-7-5198-2399-3
原版書書名:Kubernetes Cookbook
原版書出版商:O'Reilly Media
Sébastien Goasguen
Sébastien Goasguen于20世紀(jì)90年代后期建立了第一個(gè)計(jì)算集群,他很自豪完成了博士學(xué)位,并非常感謝Fortran 77和偏微分方程。并行計(jì)算機(jī)帶來的困難讓他致力于使計(jì)算成為實(shí)用的工具,后來他還專注于網(wǎng)格和云計(jì)算。十五年以后,他心底十分希望容器和Kubernetes可以讓他重回編寫應(yīng)用程序的工作。
目前他在Bitnami擔(dān)任云技術(shù)高級(jí)總監(jiān),負(fù)責(zé)Kubernetes的工作。他于2015年底成立了Kubernetes創(chuàng)業(yè)公司Skippbox。在Skippbox期間,他創(chuàng)建了多個(gè)開源軟件應(yīng)用程序和工具,用于增強(qiáng)Kubernetes的用戶體驗(yàn)。他是Apache軟件基金會(huì)的成員,也是Apache CloudStack的前副總裁。Sébastien致力于云生態(tài)系統(tǒng),并為幾十個(gè)開源項(xiàng)目做出了貢獻(xiàn)。他撰寫了Docker Cookbook,還是一位狂熱的博客作者,并擔(dān)任Kubernetes概念Safari訂閱者的在線講師。
Michael Hausenblas
Michael Hausenblas是Go、Kubernetes和Red Hat的OpenShift的先驅(qū)開發(fā)者,他幫助AppOps構(gòu)建和運(yùn)行分布式服務(wù)。他有大規(guī)模數(shù)據(jù)處理和容器編排的背景,他在W3C和IETF的倡導(dǎo)和標(biāo)準(zhǔn)化方面有著豐富的經(jīng)驗(yàn)。在Red Hat之前,Michael曾在Mesosphere、MapR以及愛爾蘭和奧地利的兩個(gè)研究機(jī)構(gòu)工作。他貢獻(xiàn)開源軟件(主要是使用Go),博客,并經(jīng)?;钴S在Twitter上。
Michael是Amazon Web Service容器開發(fā)領(lǐng)域的倡導(dǎo)者。
本書的封面動(dòng)物是一只孟加拉鷹梟(巖雕鸮,Bubo bengalensis)。這些大角貓頭鷹經(jīng)常成對(duì)出現(xiàn),你可以在南亞的丘陵和巖石叢林中找到它們的身影。
孟加拉鷹梟身高19~22英寸,重量在39~70盎司之間。它的羽毛呈棕灰色或米色,耳朵有棕色的毛簇。與其身體的中性色相比,它的眼睛顏色顯橙色。這種橙色眼睛的貓頭鷹在白天狩獵。它喜歡肉食,主要以老鼠或田鼠等嚙齒類動(dòng)物為食物,但也會(huì)在冬季期間吃其他鳥類。我們可以在黃昏和黎明時(shí),聽到這種貓頭鷹發(fā)出的低沉而洪亮的“嗚呼”的叫聲。
雌鳥會(huì)在地面的淺凹處,巖壁和河岸筑巢,并產(chǎn)2~5顆奶油色的卵。33天后鳥蛋孵化。雛鳥大約會(huì)在10周的時(shí)候長(zhǎng)成大鳥,但是身體還沒有成熟,在近6個(gè)月內(nèi)仍然需要依靠父母。為了分散捕食者對(duì)后代的襲擊,父母會(huì)假裝翅膀受傷或以曲折的方式飛行。
O’Reilly出版的圖書,封面上很多動(dòng)物都瀕臨滅絕。這些動(dòng)物都是地球的至寶。如果你想知道如何保護(hù)這些動(dòng)物,請(qǐng)?jiān)L問animals.oreilly.com。
封面圖片來自Meyers Kleines Lexicon。