- Kubernetes權威指南:從Docker到Kubernetes實踐全接觸(第5版)
- 龔正等編著
- 1942字
- 2024-01-22 18:49:41
前言
為什么寫作本書
本書第1版出版于2016年,短短幾年,Kubernetes已從一個新生事物發(fā)展成為一個影響全球IT技術的基礎設施平臺,成功推動了云原生應用、微服務架構、Service Mesh、Serverless等熱門技術的普及和落地,一躍成為云原生應用的全球級基礎平臺。現(xiàn)在,Kubernetes已經(jīng)成為軟件基礎設施領域中耀眼的明星項目,在GitHub上已有超過兩萬名開源志愿者參與此項目,成為開源歷史上發(fā)展速度超快的項目之一。
在這幾年里:
◎ Kubernetes背后的重要開源公司RedHat被IBM大手筆收購,使RedHat基于Kubernetes架構的先進PaaS平臺——OpenShift成為IBM在云計算基礎設施中的重要籌碼;
◎ Kubernetes的兩位核心創(chuàng)始人Joe Beda和Craig McLuckie所創(chuàng)立的提供Kubernetes咨詢和技術支持的初創(chuàng)公司Heptio也被虛擬化領域的巨頭VMware收購,VMware決定全力擁抱Kubernetes,而且計劃直接以Kubernetes為底層核心重新打造全新版的vSphere;
◎ Oracle收購了丹麥的一家初創(chuàng)公司W(wǎng)ercker,然后開發(fā)了Click2Kube,這是面向Oracle裸機云(Oracle Bare Metal Cloud)的一鍵式Kubernetes集群安裝工具;
◎ 世界500強中的一些大型企業(yè)也決定以Kubernetes為基礎重構內部IT平臺架構,大數(shù)據(jù)系統(tǒng)的一些用戶也在努力將其生產系統(tǒng)從龐大的大數(shù)據(jù)專有技術棧中剝離出來靠攏Kubernetes。
谷歌憑借幾十年大規(guī)模容器應用的豐富經(jīng)驗,首次投入大量人力、財力來開源并主導了Kubernetes這個重要的開源項目。可以預測,Kubernetes的影響力可能超過數(shù)十年,所以,我們每個IT人都有理由重視這門新技術。當年,慧與中國通信和媒體解決方案領域的資深專家團一起分工協(xié)作、并行研究,并廢寢忘食地合力撰寫,才促成了這部巨著的出版。當然,這部巨著也對Kubernetes在國內的普及和推廣產生了巨大的推動作用。
本書讀者對象
本書讀者對象范圍很廣,甚至某些高校也采用了本書作為參考教材。考慮到Kubernetes的技術定位,我們強烈建議這些人群購買和閱讀本書:資深IT從業(yè)者、研發(fā)部門主管、架構師(語言不限)、研發(fā)工程師(經(jīng)驗不限)、運維工程師(經(jīng)驗不限)、軟件QA和測試工程師(兩年以上經(jīng)驗)、以技術為主的售前工作人員(兩年以上經(jīng)驗)。
建議在本機上安裝合適的虛擬軟件,部署Kubernetes環(huán)境并動手實踐本書的大部分示例,甚至可以直接在公有云上部署或者使用現(xiàn)有的Kubernetes環(huán)境,從而降低入門復雜度。
本書概要
這些年,Kubernetes高速發(fā)展,先后發(fā)布了十幾個大版本,每個版本都帶來了大量的新特性,能夠處理的應用場景也越來越豐富。
本書遵循從入門到精通的學習路線,涵蓋了入門、安裝指南、實踐指南、核心原理、開發(fā)指南、網(wǎng)絡與存儲、運維指南、新特性演進等內容,內容翔實、圖文并茂,幾乎囊括了Kubernetes當前主流版本的方方面面。
第1章首先從一個簡單的實例開始,讓讀者通過動手實踐來感受Kubernetes的強大能力;然后講解Kubernetes的概念、術語。考慮到Kubernetes的概念、術語繁多,所以特別從它們的用途及相互關系入手來講解,以期初學者能快捷、全面、準確、深刻地理解這部分內容。
第2章圍繞Kubernetes的安裝和配置展開講解。如果要在生產級應用中部署Kubernetes,則建議讀者將本章內容全部實戰(zhàn)一遍;如果不是,則可以選擇部分內容實戰(zhàn),比較重要的是Kubernetes的命令行部分,對這部分越熟練,后面進行研發(fā)或運維就越輕松。
第3~4章對于大部分讀者來說,都是很關鍵的內容,也是學會Kubernetes應用建模的關鍵章節(jié)。第3章全面、深入地講解了Pod的方方面面,其中非常有挑戰(zhàn)性的是Pod調度這部分內容,它也是生產實踐中相當實用的知識和技能。第4章圍繞Service展開深入講解,涉及相關的服務發(fā)現(xiàn)、DNS及Ingress等高級特性。
第5章對Kubernetes的運行機制和原理進行全面、深入的講解,通過對API Server、Controller、Scheduler、kubelet、kube-proxy等幾個核心進程的作用、原理、實現(xiàn)方式等進行深入講解,可以讓讀者加深對Kubernetes的認知,所以建議讀者全面閱讀本章內容。
第6章專門講解Kubernetes安全方面的內容,因為內容比較復雜,所以涉及的知識點也較多,建議讀者選擇性閱讀和動手實踐本章內容。
第7章講解Kubernetes相對復雜的內容之一——網(wǎng)絡部分,涉及的知識面相對較廣,包括Kubernetes網(wǎng)絡模型、Docker網(wǎng)絡基礎、Service虛擬網(wǎng)絡、CNI網(wǎng)絡模型、開源容器網(wǎng)絡方案、Kubernetes網(wǎng)絡策略及IPv4、IPv6雙棧協(xié)議等內容,學習曲線和理解曲線都較陡。建議讀者多花時間鉆研,因為網(wǎng)絡也屬于容器領域里很重要的基礎知識。
第8章講解Kubernetes存儲方面的內容,動態(tài)存儲管理實戰(zhàn)部分的內容對于Kubernetes企業(yè)應用落地很有價值,建議讀者動手實踐完成這部分內容。
第9章是為程序員特別準備的,該章以Java(未來會增加Go語言)為例舉例說明如何通過編程方式調用Kubernetes的API,這也是開發(fā)基于Kubernetes的PaaS管理平臺的重要基礎技能之一。
第10~12章側重于講解Kubernetes運維方面的技能和知識,包括Windows上的Kubernetes部署、安裝等內容,建議需要在生產環(huán)境中部署Kubernetes的讀者全面閱讀并動手實踐這幾章的內容。
相關資源
本書提供了兩個GitHub應用項目供讀者學習和實踐,其中包括sleep客戶端應用項目和flaskapp服務端應用項目。另外,本書作者之一深度參與的Istio官方文檔漢化項目也已上線。
本書也提供了QQ群和微信群供讀者交流,還提供了本書配套源碼下載、勘誤反饋與獲取渠道。
請在本書封底的“讀者服務”處獲取以上資源。如有資源更新,則也可通過此處獲取。