K8S是什么?為什么會出現這個技術?


Kubernetes能做什么?

簡單來說,Kubernetes是和Mesos Marathon類似的容器編排框架,它也是一個自動化、容器化的應用程序部署擴展和管理的開放源代碼系統。
Kubernetes通過Master節點進行容器的統一編排決策和管理(類似人體的大腦),通過Worker節點(或者直接叫做Node節點)進行容器引擎(如Docker Engine)的配合和容器Container的實際操作(類似人體的手,但不止一雙,可以有很多只手),真正實現了從單一容器的管理,向微服務應用的容器化落地的飛躍,提供了包含計算資源管理、存儲資源管理、網絡服務發現、系統和應用監控、軟件升級回滾、安全認證等等主題的完整解決方案。
圖片描述
圖片來自dzone.com,圖片版權歸屬原作者
Kubernetes能做的內容很多,籠統起來看可以歸結為以下幾條問答題:

  1. 虛擬數據中心管理
    狄仁傑:我有一個數據中心,既想能同時支持開發、測試、生產環境,又希望統一進行資源和容器的管理。元芳,此事你怎么看?
    李元芳:回大人,可以通過Kubernetes的namespace實現邏輯集群,完成容器環境的隔離。
  2. 軟件發布和回退
    狄仁傑:我想把自己開發的軟件像yum intall、pip install這樣方便地進行安裝管理,並且可以指定版本方便地進行回退,有沒有好方法?
    李元芳:回大人,您可以用Kubernetes進行代碼發布和回退,還可以用配套的Helm和Jenkins進行軟件包和CI/CD的整體控制,非常靈活方便。
  3. 網絡和存儲透明管理
    狄仁傑:我的開發團隊對於網絡和存儲的細節不太了解,但是現在流行devops文化,怎么讓他們快速地學習網絡和存儲技術,獨立完成應用的網絡和存儲配置呢?
    李元芳:回大人,不需要他們專門學習存儲和網絡知識。Kubernetes容器技術的服務發現層抽象了網絡訪問,存儲的PV/PVC兩級管理技術抽象了存儲的配置,只要他們能提出明確的需求,Kubernetes自動可以完成相應的資源分配。
  4. 彈性擴縮容
    狄仁傑:我想讓應用可以根據策略自動地增加資源或者釋放資源,元芳,你怎么看?
    李元芳:回大人,此事必定有蹊蹺。我聽說Kubernetes可以很方便地進行容器彈性擴縮容,應該可以解決問題。我們可以去聽聽張飛揚老師的Kubernetes章節和容器彈性擴縮容章節,說不定會有所收獲。
  5. 高可用
    狄仁傑:我還想讓我的應用可以實現全鏈路高可用,元芳,你怎么看?
    李元芳:大人,聽說Kubernetes本身的集群是高可用的,同時上面發布的容器又可以通過負載均衡和Service功能實現容器高可用。
    狄仁傑: 元芳,此工具甚好,還是你懂我啊。

Kubernetes好歸好,但是它這個長長的名字的讀音確實是嚇壞了不少同學,為了方便大家記憶,我們通常將其中間的ubernete這8各字符用8來代替,這也就是K8S縮寫的由來。K8S這個昵稱,是不是很像NBA球場上大家熟悉的“字母哥”一樣,叫起來特別親切啊。

Kubernetes的發展

Kubernetes開源架構的源頭來自於Google生產系統中運行的內部集群管理系統Borg。Google將在Borg中的10多年經驗在2014年開源出來,開啟了Kubernetes熱潮的端倪。同年,微軟、RedHat、IBM、Docker、CoreOS、Mesosphere和Saltstack等公司相繼加入Kubernetes生態圈。次年,VMware、HP、Intel等公司也相繼加入。也正是在2015年,隨着Kubernetes 1.0正式發布,掀開了容器編排管理一發不可收拾的大幕。
Kubernetes在這場容器編排的大角逐中,從普通選手(當時Docker是容器技術的裁判,而Docker Swarm、Apache Mesos、Google Kubernetes分別是Docker容器編排的選手)逐步變成了領跑選手,進而升級為了裁判(由Kubernetes主導容器編排,而將Docker和CoreOS的Rkt等容器技術納入容器隔離技術的角逐中),從而在容器屆一騎絕塵。

 

 
 
 
 
 
 
 
 
 
 
 
 


免責聲明!

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



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