不管你是否意識到,在過去的幾年時間裡,以Docker、Kubernetes為代表的容器技術已經悄然發展成為一項通用技術。放眼國外,Google、Microsoft、IBM等網際網路巨頭們,仍在容器開源基礎設施的技術市場上廝殺。回看國內,包括BAT、滴滴、京東、頭條在內的大廠也都爭相把容器和Kubernetes專案作為其技術重心,試圖“放長線釣大魚”。
正如媒體所言,軟體正在吃掉世界,而容器正在吃掉整個軟體世界。雖說有些誇張,但也充分證明瞭容器在當今軟體研發領域的地位。順勢而為,是否掌握容器技術也成為很多企業在招聘時的一個重要選項。
容器技術本身是一項偏向運維工程師的基礎技術,namespace資源隔離、cgroups資源限制等等概念對於開發人員來說,都有一道難以逾越的理解鴻溝。這些年,我一直都在和容器打交道,也一直和容器工程師探討落地過程中的問題。從這些交流中,我發現總有很多相似的問題被反覆提及,比如:
-
為什麼容器裡只能跑“一個行程”?
-
為什麼我原先一直在用的某個JVM引數,在容器裡就不好使了?
-
為什麼Kubernetes就不能固定IP地址?容器網路連不通又該如何去Debug?
-
Kubernetes中StatefulSet和Operator到底什麼區別?PV和PVC又該怎麼用?
這些問題乍一看與我們平常的認知非常矛盾,但它們的答案和原理卻並不複雜。而這些對於容器初學者來說,又很難用一兩句話就解釋清楚。
容器技術涉及到作業系統、網路、儲存、排程、分散式原理等等各方面的綜合知識,也就導致了很多初學者面對容器技術,要麼知識儲備不足,要麼雜亂無章、無從下手。
其實,看似紛亂繁雜容器技術體系,卻存在著很多可以“牽一發而動全身”的主線。比如,Linux的行程模型對於容器本身的重要意義;或者,“控制器”樣式對整個Kubernetes專案提綱挈領的作用。
這些基礎知識並不會在Docker或者Kubernetes的官方檔案中詳細贅述。但它們也才是真正掌握容器技術體系的精髓所在,是每一位技術從業者都需要悉心修煉的“內功”。
《深入剖析Kubernetes》專欄就是想基於我多年的從業經驗,用深入淺出的方式幫你從看似凌亂複雜的Kubernetes專案中梳理出一條主線,助你理解容器和Kubernetes背後的設計思想和邏輯,從而解決現實工作中遇到的問題。
眼下,你我可能已經錯過了網際網路技術大爆炸的時代,也沒有在數字貨幣早期的狂熱裡分到一杯羹。可就在此時此刻,在沉寂了多年的雲端計算與基礎設施領域,一次以“容器”為名的歷史變革,正呼之欲出。這一次,我們又有什麼理由作壁上觀呢?
我是誰?
我是張磊,Kubernetes社群的一位資深成員和專案維護者。
2012年,我還在浙大讀書的時候,就有幸組建了一個雲端計算與PaaS基礎設施相關的科研團隊,就這樣,我從早期的Cloud Foundry社群開始,正式與容器結緣。
之後的幾年,我全職在Kubernetes和Kata Containers社群從事上游開發工作,先後發起了容器映象親密性排程、基於等價類的排程最佳化等多個核心特性,參與了容器執行時介面、安全容器沙盒等多個基礎特性的設計和研發。還有幸作為主要的研發人員和維護者之一,親歷了Serverless Container概念的誕生與崛起。
工作之餘,我還發起和組織撰寫了《Docker容器與容器雲》一書,受到了廣大希望進階容器技術的讀者的好評。
今年,我又遠赴西雅圖,在微軟研究院(MSR)雲端計算與儲存研究組,專門從事基於Kubernetes的深度學習基礎設施相關的研究工作。
可以說,這6年裡,我參與和親歷了容器技術從“初出茅廬”到“塵埃落定”的全過程。
專欄簡介
我希望藉由這個專欄,給你講清楚容器背後的技術本質與設計思想,並結合著對核心特性的剖析與實踐,加深你對容器技術的理解。為此,我把專欄劃分成了4大模組:
-
“白話”容器技術基礎:用饒有趣味的解說,給你梳理容器技術生態的發展脈絡,用最通俗易懂的語言描述容器底層技術的實現方式,讓你知其然,並且知其所以然。
-
Kubernetes叢集的搭建與實踐:Kubernetes叢集號稱“非常複雜”,但是如果明白了其中的架構和原理,選擇了正確的工具和方法,它的搭建卻也可以“一鍵安裝”,它的應用部署也可以淺顯易懂。
-
容器編排與Kubernetes核心特性剖析:這是專欄最主要的內容。“編排”永遠都是容器雲專案的靈魂所在,也是Kubernetes社群持久生命力的源泉。在這一模組,我會從分散式系統設計的視角出發,抽象和歸納出這些特性中體現出來的普遍方法,然後帶著這些指導思想去逐一闡述Kubernetes專案關於編排、排程和作業管理的各項核心特性。
-
Kubernetes開源社群與生態:“開源生態”永遠都是容器技術和Kubernetes專案成功的關鍵。在這個模組,我會和你一起探討容器社群現代開源軟體工程指導下的技術演進之路,帶你思考如何同團隊一起平衡內外部需求,逐漸成為社群中不可或缺的一員。
在專欄開始,我首先為你準備了4篇預習文章,詳細地梳理了容器技術自興起到現在的發展歷程,同時也回答了“Kubernetes為什麼會贏”這個重要的問題,算是我額外為你準備的一份開學禮物。
機會總是留給有準備的人,現在就讓我們一起開啟這次充滿挑戰的容器之旅吧!
訂閱福利
福利一:上新優惠價¥68,原價¥99,9月8日恢複原價
福利二:購買之後,你也可以邀請基友購買,每位基友你可獲得24元現金返現,多邀多得,上不封頂,隨時提現(提現流程:極客時間 App – 我的 – 分享有賞)
如何訂閱?
掃描下圖二維碼,試讀或訂閱專欄。
長按二維碼向我轉賬
受蘋果公司新規定影響,微信 iOS 版的贊賞功能被關閉,可透過二維碼轉賬支援公眾號。
微信掃一掃
使用小程式