- Kubernetes源碼剖析
- 鄭東旭
- 1092字
- 2020-07-23 17:12:13
前言
近幾年,容器技術越來越普及。據Gartner預估,到2022年,全球將有75%的公司使用容器技術,而在2017年,這個比例還不到20%,這說明容器技術的發展非常迅速。容器技術的火熱引發了容器編排技術的發展,目前最受歡迎的容器編排系統是Kubernetes,其引領著技術潮流,用于應對生產環境中編排容器所需的額外復雜度及成本。Kubernetes系統幫助企業加快了容器編排的速度,并實現了對多容器集群的大規模管理。它允許持續集成和交付、網絡處理、服務發現及存儲服務等,并具有在多云環境下進行操作的能力。
很多人都在說掌控了Kubernetes等于掌控了云計算的未來,這是為什么呢?在過去的幾年里,Kubernetes發展飛速,社區也隨之壯大,截至本書截稿時,Kubernetes項目在GitHub上已有接近6萬個Star,擁有8萬多次提交量。
Kubernetes系統已經越來越成熟,很多企業對它的應用從試水階段逐步走向大規模落地階段,但隨著Kubernetes系統越來越穩定、成熟,代碼的迭代能力逐漸變弱了。底層代碼的成熟和健壯能夠支撐更大的上層應用,這便讓更多優秀的生態應用圍繞著Kubernetes系統各自發展。這得益于Kubernetes系統的高擴展性,Kubernetes越來越像一個系統核心,對外提供通用接口,實現了眾多標準化。另外,Kubernetes得到了許多云服務提供商(Cloud Provider)的支持,例如Google、Cisco、VMware、Microsoft、Amazon及許多其他大型公司。
建議讀者在閱讀Kubernetes源碼的過程中,學習一些關于設計模式(Design Pattern)的知識,這樣有助于大家理解源碼的實現原理,而非只是泛泛地看代碼。例如,在Go語言中常用NewXXX函數來實例化相關類,在設計模式中,其被稱為簡單工廠模式,該設計模式在Go語言中替代了其他語言中的構造函數功能。不同語言的設計模式原理基本相同,只是在語法實現方式上有所不同。對于Go語言的設計模式,大家可以參考Go Design Pattern(參見鏈接[1])。
學習Kubernetes代碼庫并不容易,它擁有大量的源碼,學習過程會比較枯燥,但通過對源碼的學習,我們一定會收益良多。本書將基于Kubernetes 1.14.0版本來深入研究和分析Kubernetes源碼的關鍵部分,希望能對讀者有所幫助。建議讀者在閱讀本書的同時參考Kubernetes源碼文件,這樣學習效果更佳。
最后,謹以此書獻給我的愛人和我剛出世的女兒。
聯系作者
由于作者時間與水平有限,因此書中難免出現遺漏或錯誤,如果讀者發現相關問題,請及時與我聯系,聯系方式為shanhu5739@gmail.com。非常希望與大家共同學習和交流。
本書涉及的鏈接說明
為了保證書中涉及的相關鏈接可以實時更新,特地將“鏈接地址”文檔放于博文視點官方網站,如書中標有“參見鏈接[1]”“參見鏈接[2]”等字樣時,可在該文檔中查詢相關鏈接。讀者可在http://www.broadview.com.cn/38914頁面下載或通過“讀者服務”中提供的方式獲取 “鏈接地址”文檔。
讀者服務

掃碼回復:38914
● 獲取博文視點學院20元付費內容抵扣券
● 加入讀者交流群,與更多讀者互動
● 獲取本書配套下載文件(“鏈接地址”文檔)
● 獲取免費增值資源
- Unreal Engine Physics Essentials
- Spring 5企業級開發實戰
- DevOps for Networking
- Android Studio Essentials
- R語言游戲數據分析與挖掘
- Swift 3 New Features
- Nginx Essentials
- Java 11 Cookbook
- D3.js 4.x Data Visualization(Third Edition)
- 網站構建技術
- Python項目實戰從入門到精通
- R語言數據可視化:科技圖表繪制
- Red Hat Enterprise Linux Troubleshooting Guide
- 深度探索Go語言:對象模型與runtime的原理特性及應用
- Natural Language Processing with Python Quick Start Guide