技術儲備:認識一下雲開發基石Kubernetes

Kubernetes,你不知道TA是誰?請進來一下。若說雲應用開發是不可避免的下一代開發熱潮,那麼Kubernetes就是你一定要認識的對象。做過傳統應用的同學應該還記得,曾經多少次在開發環境運行正常的程序,在測試環境不行,在測試環境通過後的程序,部署到生產環境還不行,而且原因千奇百怪,因此,那個年代會修電腦的網管纔是個好程序員,要不然活不過一個版本。容器的出現緩解了這個問題,容器比如Docker將開發用到的依賴和環境打包成一個容器,將容器直接部署到測試環境、生產環境,開發什麼樣就什麼樣。然而,更復雜的程序比如大數據、人工智能、機器學習等,會涉及跨物理機、跨虛擬機、跨雲平臺等等多主機多容器多組件的協調運行和管理則需要一項新的工具,他就是Kubernetes。

1、Kubernetes印象

一句話,Kubernetes(簡稱K8s)是一個用於自動化部署、擴展和管理容器化應用程序的開源系統

爲了實現這一目標,KUbernetes提供了一些系列工具來部署這些應用、根據需要擴展應用、並管理應用變更,並幫助你優化容器底層的相關硬件。而且,Kubernetes的設計允許應用隨需重啓和跨系統移植。Kubernetes本身不是Paas(Platform as a Service)工具,而更像一個Paas 基礎平臺,它允許用戶自己選擇不同類型的應用框架、語言、監控和日誌工具等,Paas平臺可以在它上面運行。

Kubernetes是一個用go語言開發的項目,在github上可以找到它的源碼。

2、Kubernetes的爸是Google

Kubernetes出生在google,吸收了google在大規模生產應用負載運行方面的15年經驗,並凝聚了社區的最佳創意和實踐。2014年,google將Kubernetes開源,現由Clould Native Computing Foudation託管管理,你可以在私有云、公有云、混合雲等任何框架下運行它。自從K8s開源後,吸引了來自世界各地很多開源社區的開發者關注和參與。目前,在來自google、red hat 的工程師以及一些其他貢獻者的積極努力下,K8s在開源社區的發展非常迅速。

3、Kubernetes的工作原理

Kubernetes的主要組織單元是Pod,一個Pod就是一組容器,被管理在同一個主機、虛擬機或者節點上可以方便地相互通信。多個Pod可以組成一個Service(服務)協同工作,並且可以通過一個標籤系統組織起來並將這些Pod對象做爲元數據存儲在Kubernetes中。然後,所有這些都可以通過API、預定義指令和客戶命令行以一致的、可預測的方式精心安排好。

 

發佈了45 篇原創文章 · 獲贊 30 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章