新聞中心
簡析Kubernetes八大重要特性
作者: 馬永亮 2021-12-04 22:06:54
云計算
虛擬化 Kubernetes的主要優(yōu)勢在于,它提供了一個便捷有效的平臺,讓用戶可以在物理機和虛擬機集群上調度與運行容器。

10余年的碭山網站建設經驗,針對設計、前端、開發(fā)、售后、文案、推廣等六對一服務,響應快,48小時及時工作處理。營銷型網站建設的優(yōu)勢是能夠根據用戶設備顯示端的尺寸不同,自動調整碭山建站的顯示方式,使網站能夠適用不同顯示終端,在瀏覽器中調整網站的寬度,無論在任何一種瀏覽器上瀏覽網站,都能展現優(yōu)雅布局與設計,從而大程度地提升瀏覽體驗。創(chuàng)新互聯(lián)公司從事“碭山網站設計”,“碭山網站推廣”以來,每個客戶項目都認真落實執(zhí)行。
Kubernetes的主要優(yōu)勢在于,它提供了一個便捷有效的平臺,讓用戶可以在物理機和虛擬機集群上調度與運行容器。進一步來說,Kubernetes是一個支持彈性運行的分布式系統(tǒng)框架,是一種支撐其他平臺的平臺型基礎設施,可以幫助用戶在生產環(huán)境中依托容器實施的基礎架構。
Kubernetes的本質在于實現操作任務自動化,包括應用擴展、故障轉移和部署模式等,因而它能代替用戶執(zhí)行大部分煩瑣的操作任務,減輕用戶負擔,降低出錯的概率。
簡言之,Kubernetes整合并抽象了底層的硬件和系統(tǒng)環(huán)境等基礎設施,對外提供了一個統(tǒng)一的資源池供終端用戶通過API進行調用。Kubernetes具有以下幾個重要特性。
01 自動裝箱
構建于容器之上,基于資源依賴及其他約束自動完成容器部署且不影響其可用性,并在同一節(jié)點通過調度機制混合運行關鍵型應用和非關鍵型應用的工作負載,以提升資源利用率。
02 自我修復(自愈)
支持容器故障后自動重啟、節(jié)點故障后重新調度容器到其他可用節(jié)點、健康狀態(tài)檢查失敗后關閉容器并重新創(chuàng)建等自我修復機制。
03 水平擴展
支持通過簡單命令或UI手動水平擴展,以及基于CPU等資源負載率的自動水平擴展機制。
04 服務發(fā)現和負載均衡
Kubernetes通過其附加組件之一的KubeDNS(或CoreDNS)為系統(tǒng)內置了服務發(fā)現功能,它會為每個Service配置DNS名稱,并允許集群內的客戶端直接使用此名稱發(fā)出訪問請求,而Service通過iptables或ipvs內置了負載均衡機制。
05 自動發(fā)布和回滾
Kubernetes支持“灰度”更新應用程序或其配置信息,它會監(jiān)控更新過程中應用程序的健康狀態(tài),以確保不會在同一時刻殺掉所有實例,而此過程中一旦有故障發(fā)生,它會立即自動執(zhí)行回滾操作。
06 密鑰和配置管理
Kubernetes的ConfigMap實現了配置數據與Docker鏡像解耦,需要時,僅對配置做出變更而無須重新構建Docker鏡像,這為應用開發(fā)部署提供了很大的靈活性。
此外,對于應用所依賴的一些敏感數據,如用戶名和密碼、令牌、密鑰等信息,Kubernetes專門提供了Secret對象使依賴解耦,既便利了應用的快速開發(fā)和交付,又提供了一定程度上的安全保障。
07 存儲編排
Kubernetes支持Pod對象按需自動掛載不同類型存儲系統(tǒng),這包括節(jié)點本地存儲、公有云服務商的云存儲(如AWS和GCP等),以及網絡存儲系統(tǒng),例如NFS、iSCSI、Gluster、Ceph、Cinder和Flocker等。
08 批量處理執(zhí)行
除了服務型應用,Kubernetes還支持批處理作業(yè)、CI(持續(xù)集成),以及容器故障后恢復。
另一方面,以應用為中心的Kubernetes本身并未直接提供一套完整的“開箱即用”的應用管理體系,需要基礎設施工程師基于云原生社區(qū)和生態(tài)的實際需求手動構建。
換句話說,在典型的生產應用場景中,Kubernetes還需要同網絡、存儲、遙測(監(jiān)控和日志)、鏡像倉庫、負載均衡器、CI/CD工具鏈及其他服務整合,以提供完整且API風格統(tǒng)一的基礎設施平臺,如圖1-17所示。
▲圖1-17 完整的容器編排系統(tǒng)
下面對容器編排系統(tǒng)中的要素進行簡單介紹。
- Docker Registry和工件倉庫:通過Harbor工件倉庫、Docker Registry等項目實現。
- 網絡:借助Flannel、Calico或WeaveNet等項目實現。
- 遙測:借助Prometheus和EFK棧(或者由Promtail、Loki和Grafana組成的PLG棧)等項目實現。
- 容器化工作負載:借助Kubernetes內置的工作負載控制器資源,甚至由社區(qū)擴展而來的各種Operator完成應用的自動化編排,包括自愈和自動擴縮容等;而便捷的應用打包則要借助Helm或Kustomize等項目完成。
- 基于容器編排系統(tǒng)的CI/CD:借助Jenkins、Tekton、Flagger或Kepton等項目,甚至遵循GitOps規(guī)范實現應用交付、發(fā)布和部署等。
關于作者:馬永亮,北京馬哥教育科技有限公司,創(chuàng)始人兼CEO。精通泛Linux運維領域相關技術,關注容器領域相關技術。
本文摘編自《Kubernetes進階實戰(zhàn)(第2版)》,經出版方授權發(fā)布。
(ISBN:9787111694441)
網站題目:簡析Kubernetes八大重要特性
文章鏈接:http://www.dlmjj.cn/article/coigicc.html


咨詢
建站咨詢
