kubernetes
kubernetes,簡稱K8s,是用8代替8個字符「ubernete」而成的縮寫。是一個開源的,用於管理雲平臺中多個主機上的容器化的應用,Kubernetes的目標是讓部署容器化的應用簡單而且高效(powerful),Kubernetes提供了應用部署,規劃,更新,維護的一種機制。
傳統的應用部署方式是經過插件或腳原本安裝應用。這樣作的缺點是應用的運行、配置、管理、全部生存週期將與當前操做系統綁定,這樣作並不利於應用的升級更新/回滾等操做,固然也能夠經過建立虛擬機的方式來實現某些功能,可是虛擬機很是重,並不利於可移植性。
新的方式是經過部署容器方式實現,每一個容器之間互相隔離,每一個容器有本身的文件系統 ,容器之間進程不會相互影響,能區分計算資源。相對於虛擬機,容器能快速部署,因爲容器與底層設施、機器文件系統解耦的,因此它能在不一樣雲、不一樣版本操做系統間進行遷移。
容器佔用資源少、部署快,每一個應用能夠被打包成一個容器鏡像,每一個應用與容器間成一對一關係也使容器有更大優點,使用容器能夠在build或release 的階段,爲應用建立容器鏡像,由於每一個應用不須要與其他的應用堆棧組合,也不依賴於生產環境基礎結構,這使得從研發到測試、生產能提供一致環境。相似地,容器比虛機輕量、更「透明」,這更便於監控和管理。
Kubernetes是Google開源的一個容器編排引擎,它支持自動化部署、大規模可伸縮、應用容器化管理。在生產環境中部署一個應用程序時,一般要部署該應用的多個實例以便對應用請求進行負載均衡。
在Kubernetes中,咱們能夠建立多個容器,每一個容器裏面運行一個應用實例,而後經過內置的負載均衡策略,實現對這一組應用實例的管理、發現、訪問,而這些細節都不須要運維人員去進行復雜的手工配置和處理。負載均衡
Kubernetes 特色
可移植: 支持公有云,私有云,混合雲,多重雲(multi-cloud)
可擴展: 模塊化, 插件化, 可掛載, 可組合
自動化: 自動部署,自動重啓,自動複製,自動伸縮/擴展運維
咱們用kubernetes去管理Docker集羣,便可以將Docker當作Kubernetes內部使用的低級別組件模塊化