Kubernetes簡介二

Kubernetes是什麼?
Kubernetes是容器集羣管理系統,是一個開源的平臺,能夠實現容器集羣的自動化部署、自動擴縮容、維護等功能。
經過Kubernetes你能夠:
快速部署應用
快速擴展應用
無縫對接新的應用功能
節省資源,優化硬件資源的使用
咱們的目標是促進完善組件和工具的生態系統,以減輕應用程序在公有云或私有云中運行的負擔。sql

Kubernetes 特色
可移植: 支持公有云,私有云,混合雲,多重雲(multi-cloud)
可擴展: 模塊化, 插件化, 可掛載, 可組合
自動化: 自動部署,自動重啓,自動複製,自動伸縮/擴展
Kubernetes是Google 2014年建立管理的,是Google 10多年大規模容器管理技術Borg的開源版本。數據庫

 

爲何要使用容器?經過如下兩個圖對比:json

爲何是容器?

傳統的應用部署方式是經過插件或腳原本安裝應用。這樣作的缺點是應用的運行、配置、管理、全部生存週期將與當前操做系統綁定,這樣作並不利於應用的升級更新/回滾等操做,固然也能夠經過建立虛機的方式來實現某些功能,可是虛擬機很是重,並不利於可移植性。架構

新的方式是經過部署容器方式實現,每一個容器之間互相隔離,每一個容器有本身的文件系統 ,容器之間進程不會相互影響,能區分計算資源。相對於虛擬機,容器能快速部署,因爲容器與底層設施、機器文件系統解耦的,因此它能在不一樣雲、不一樣版本操做系統間進行遷移。app

容器佔用資源少、部署快,每一個應用能夠被打包成一個容器鏡像,每一個應用與容器間成一對一關係也使容器有更大優點,使用容器能夠在build或release 的階段,爲應用建立容器鏡像,由於每一個應用不須要與其他的應用堆棧組合,也不依賴於生產環境基礎結構,這使得從研發到測試、生產能提供一致環境。相似地,容器比虛機輕量、更「透明」,這更便於監控和管理。最後,負載均衡

容器優點總結:框架

  • 快速建立/部署應用:與VM虛擬機相比,容器鏡像的建立更加容易。
  • 持續開發、集成和部署:提供可靠且頻繁的容器鏡像構建/部署,並使用快速和簡單的回滾(因爲鏡像不可變性)。
  • 開發和運行相分離:在build或者release階段建立容器鏡像,使得應用和基礎設施解耦。
  • 開發,測試和生產環境一致性:在本地或外網(生產環境)運行的一致性。
  • 雲平臺或其餘操做系統:能夠在 Ubuntu、RHEL、 CoreOS、on-prem、Google Container Engine或其它任何環境中運行。
  • Loosely coupled,分佈式,彈性,微服務化:應用程序分爲更小的、獨立的部件,能夠動態部署和管理。
  • 資源隔離
  • 資源利用:更高效

使用Kubernetes能作什麼?
能夠在物理或虛擬機的Kubernetes集羣上運行容器化應用,Kubernetes能提供一個以「容器爲中心的基礎架構」,知足在生產環境中運行應用的一些常見需求,如:分佈式

  • 多個進程(做爲容器運行)協同工做。(Pod)
  • 存儲系統掛載
  • Distributing secrets
  • 應用健康檢測
  • 應用實例的複製
  • Pod自動伸縮/擴展
  • Naming and discovering
  • 負載均衡
  • 滾動更新
  • 資源監控
  • 日誌訪問
  • 調試應用程序
  • 提供認證和受權

Kubernetes不是什麼?
Kubernetes並非傳統的PaaS(平臺即服務)系統。模塊化

  • Kubernetes不限制支持應用的類型,不限制應用框架。限制受支持的語言runtimes (例如, Java, Python, Ruby),知足12-factor applications 。不區分 「apps」 或者「services」。 Kubernetes支持不一樣負載應用,包括有狀態、無狀態、數據處理類型的應用。只要這個應用能夠在容器裏運行,那麼就能很好的運行在Kubernetes上。
  • Kubernetes不提供中間件(如message buses)、數據處理框架(如Spark)、數據庫(如Mysql)或者集羣存儲系統(如Ceph)做爲內置服務。但這些應用均可以運行在Kubernetes上面。
  • Kubernetes不部署源碼不編譯應用。持續集成的 (CI)工做流方面,不一樣的用戶有不一樣的需求和偏好的區域,所以,咱們提供分層的 CI工做流,但並不定義它應該如何工做。
  • Kubernetes容許用戶選擇本身的日誌、監控和報警系統。
  • Kubernetes不提供或受權一個全面的應用程序配置 語言/系統(例如,jsonnet)。
  • Kubernetes不提供任何機器配置、維護、管理或者自修復系統。

Kubernetes是什麼意思?K8S?
Kubernetes的名字來自希臘語,意思是「舵手」 或 「領航員」。K8s是將8個字母「ubernete」替換爲「8」的縮寫。微服務

相關文章
相關標籤/搜索