K8s是幹什麼的 K8s有什麼用

K8s是幹什麼的?K8s有什麼用?K8s全稱爲Kubenetes,它是用來對容器化應用程序進行自動化部署、擴縮和管理的開源系統,簡單理解就是一箇編排容器的工具。K8s具備擴展集羣、自動部署和回滾、服務發現和負載均衡等諸多特性。

容器是打包和運行應用程序的好方式。在生產環境中,我們需要管理運行應用程序的容器,並確保不會停機,這時便可以用到Kubenetes(以下使用簡稱K8s)這個工具。K8s提供了一箇可彈性運行分佈式系統的框架,以滿足用戶擴展、故障轉移、部署模式等要求。目前大多數海外服務器商家提供有Kubenetes產品服務,比如Vult、DigitlOcen、Linode等。

K8s的核心功能:

、自我修復

重新啓動失敗的容器,在節點死亡時替換並重新調度容器,殺死不響應用戶定義的健康檢查的容器,並且在它們準備好服務之前不會將它們公佈給客戶端。

2、彈性伸縮

K8s使用簡單一箇簡單的命令、一箇UI或者基於CPU使用情況自動快速擴容和縮容應用的程序實例(容器的副本數),以保證應用業務高峯併發時的高可用性,且能在業務低峯時期回收資源,減少成本運行服務。

3、自動部署和回滾

K8s採用滾動更新的策略更新應用,一次更新一箇Pod,而不是同時刪除所有的Pod。如果更新過程中出現問題,將回滾更改,確保升級不影響業務。

4、服務發現和負載均衡

無需修改你的應用程序即可使用陌生的服務發現機制。K8s爲容器提供了內部IP地址和一箇DNS名稱,並且可以在它們之間實現負載均衡,使得用戶無需考慮容器IP的問題。

5、機密數據(密碼,證書)和配置管理

K8s提供了存儲能力(可以把密碼加密放在容器存儲中),這樣部署和更新機密數據和應用程序的配置而不必重新構建容器鏡像,且 不必將軟件堆棧配置中的祕密信息暴露出來,提高了敏感數據的安全性。

6、自動完成裝箱計算

K8s允許用戶指定每個容器所需CPU和內存(RAM)。當容器指定了資源請求時,K8s可以做出更好的決策來管理容器的資源,能有效地提高資源利用率。

7、批處理

K8s提供一次性任務,定時任務,滿足批量數據處理和分析的場景。

8、存儲編排

K8s可以允許用戶自動掛載所選擇的存儲系統,例如本地存儲、公共雲提供商等。