K8S是什么?


一.簡介

隨着容器的火爆,利用容器架構來搭建業務系統的人越來越多。可是,大家在實操中發現,像 Docker 之類的容器引擎,折騰少量容器還行。但如今的雲原生應用、機器學習任務或者大數據分析業務,動輒就要使用成百上千的容器。要管理這么多容器,Docker 們就力不從心了。
file

江山代有才人出,各領風騷三五年,有需求就有改變,於是乎,市場上就出現了一批容器編排工具,典型的是 Swarm、Mesos 和 K8S。

經過幾年大浪淘沙,K8S“擊敗”Swarm 和 Mesos,幾乎成了當前容器編排的事實標准。
file

K8S 最初是由 Google 開發的,后來捐贈給了 CNCF(雲原生計算基金會,隸屬 Linux 基金會)。
file

K8S 的全名是 kubernetes,讀作“庫伯耐踢死”,很多國人既拼不對也寫不對,而 K 和 S 之間有 8 個字母,索性就簡單一點,叫“開八司”了。

K8S 是個雜技高手,最擅長的就是“搬箱子”,盤各種容器玩。
file

K8S 的大致架構,就像上面。Master 節點,用來放“腦子”,“腿腳”搭在工作節點上“搬磚”,工作節點就是實際業務容器的存放地。

單個容器或多個關系密切的容器,被編成一組,稱為 pod。K8S 就是以 pod 為單位進行編排操作。

同時,K8S 還要和其它相關軟件配合,來完成聯網、存儲、安全等功能。
file

誕生六年來,K8S 一路高歌,成為容器編排和調度領域的 No.1。但需要注意的是,K8S 和 Docker 們不是替代關系,而是配合關系。

K8S 仍然會使用 Docker 之類的容器引擎(Docker、Containerd、RKT、CRI-O 等),來對容器進行生命周期管理。

二.能直接拿來用嗎?

這樣做,看起來沒毛病,K8S 是開源軟件,社區版 K8S 也很完美。

你可以在網上找到各種安裝指導文檔,然后從 github 輕松找到最新的版本,然后一步一步搭建集群。

只是安裝過程漫長而痛苦,畢竟搭建集群不是我們的目的,我們的目的是利用集群來干活。
file

搭一個 K8S 學習環境倒也罷了,權當練手漲經驗。可當我們要搭建生產環境的時候,事情就變得不一樣了。

這時候,為了保證集群的可靠性,我們可能要跨多個可用區來部署 K8S 集群。對於大多數人來說,這個工作不太好玩。
file

不止搭建集群過程很復雜,后期還要面對更繁瑣的 K8S 控制平面維護工作:版本升級、安全管控、數據備份等等。

所以,面對生產級別的業務,大家往往喜歡選擇 Turnkey (一站式)的商用方案,而不是自己慢慢鼓搗,老牛拉破車。

目前,各大雲服務商幾乎都推出了 Turnkey 方案,幫助用戶快速搭建 K8S 集群。

到底哪家強呢?王婆賣瓜,自賣自誇,似乎沒有定論。

但是有個數據很有參考意義,根據咨詢機構「Nucleus Research」的數據,所有雲中 K8S 的工作負載,竟然有 82%都是運行在 Amazon Web Services (AWS) 上的。
file

So,我們差不多可以這樣說,雲上 K8S,還是 AWS 最強!

AWS 提供了一個神器,叫做 Amazon Elastic Kubernetes Service (Amazon EKS),可以快速幫我們搭建高可用的雲上托管 K8S 服務。
file


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM