是什么?
Kubernetes是一個開源容器管理工具,負責容器部署,容器擴縮容以及負載平衡。作為Google的創(chuàng)意之作,它提供了出色的社區(qū),并與所有云提供商合作。因此,我們可以說Kubernetes不是一個容器化平臺,而是一個多容器管理解決方案。
眾所周知,Docker提供容器的生命周期管理,Docker鏡像構(gòu)建運行時容器。但是,由于這些單獨的容器必須通信,因此使用Kubernetes。因此,我們說Docker構(gòu)建容器,這些容器通過Kubernetes相互通信。因此,可以使用Kubernetes手動關(guān)聯(lián)和編排在多個主機上運行的容器。
有哪些特性?
1. 自我修復: 在節(jié)點故障時可以刪除失效容器,重新創(chuàng)建新的容器,替換和重新部署,保證預期的副本數(shù)量,kill掉健康檢查失敗的容器,并且在容器未準備好之前不會處理客戶端情況,確保線上服務不會中斷
2. 彈性伸縮: 使用命令、UI或者k8s基于cpu使用情況自動快速擴容和縮容應用程序?qū)嵗WC應用業(yè)務高峰并發(fā)時的高可用性,業(yè)務低峰時回收資源,以最小成本運行服務
3. 自動部署和回滾: k8s采用滾動更新策略更新應用,一次更新一個pod,而不是同時刪除所有pod,如果更新過程中出現(xiàn)問題,將回滾恢復,確保升級不影響業(yè)務
4. 服務發(fā)現(xiàn)和負載均衡: k8s為多個容器提供一個統(tǒng)一訪問入口(內(nèi)部IP地址和一個dns名稱)并且負載均衡關(guān)聯(lián)的所有容器,使得用戶無需考慮容器IP問題
5. 機密和配置管理: 管理機密數(shù)據(jù)和應用程序配置,而不需要把敏感數(shù)據(jù)暴露在徑向力,提高敏感數(shù)據(jù)安全性,并可以將一些常用的配置存儲在k8s中,方便應用程序調(diào)用
6. 存儲編排: 掛載外部存儲系統(tǒng),無論時來自本地存儲、公有云(aws)、還是網(wǎng)絡(luò)存儲(nfs、GFS、ceph),都作為集群資源的一部分使用,極大提高存儲使用靈活性
7. 批處理: 提供一次性任務,定時任務:滿足批量數(shù)據(jù)處理和分析的場景