您好,登錄后才能下訂單哦!
調度計算集群的節點,動態管理上面的作業
通過使用[labels]和[pods]的概念,將應用按邏輯單元進行分組
自我修復
在節點故障時重新啟動失敗的容器,替換和重新部署,保證預測的副本數量;殺死健康檢查失敗的容器,并且在未準備好之前不會處理客戶端請求,確保線上服務不中斷。
彈性伸縮
使用命令、UI或者基于CPU使用情況自動快速擴容和縮容應用程序實例,保證應用業務高峰并發時的高可用性;業務低峰時回收資源,以最小成本運行服務
自動部署和回滾
K8S采用滾動更新應用,一次更新一個Pod,而不是同時刪除所有Pod,如果更新過程中出現問題,將回滾更改,確保升級不受影響業務
服務發現和負載均衡
K8S為多個容器提供一個統一的訪問入口(內部IP地址和UI個DNS地址),并且負載均衡關聯的所有容器,使得用戶無需考慮容器IP問題
機密和配置管理
管理機密數據和應用程序配置。而不需要把敏感數據暴露在鏡像里,提高敏感數據安全性。并且可以將一些常用的配置存儲在K8S中,方便應用程序使用
存儲編排
掛載外部存儲系統,無論是來自本地存儲,公有云(如AWS),還是網絡存儲(NFS、GlusterFS)都作為集群資源的一部分使用,極大提高存儲使用靈活性
批處理
提供一次性任務,定時任務;滿足批量數據處理和分析的場景。
kube-apiserver
Kubernetes API,集群的統一入口,各組件協調者,以RESTful API提供接口服務,所有對象資源的增刪改查和監聽操作都交給APIServer處理后再提交給Etcd存儲。
kube-controller-manager
處理集群中常規后臺任務,一個資源對應一個控制器,而ControllerManager就是負責管理這些控制器的。
kube-scheduler
根據調度算法為新創建的Pod選擇一個Node節點,可以任意部署,可以部署在同一個節點上,也可以部署在不同的節點上。
etcd
分布式鍵值存儲系統,用于保存集群狀態數據,比如Pod、Server等對象信息。
kubelet
kubelet是MAster在Node節點上的Agent,管理本機運行容器的生命周期,比如創建容器,Pod掛載數據卷、下載secret、獲取容器和節點狀態等工作。kubelet將Pod轉換成一組容器。
bube-proxy
在Noed節點上實現Pod網絡代理,維護網絡規劃和四層復=負載均衡工作。
docker或rocker
容器引擎,運行容器。
Pod
最小部署單元
一組容器的集合
一個Pod中的容器共享網絡命名空間
Pod是短暫的
Controllers
ReplicaSet:確保 預期的Pod副本數量
Deployment :無狀態應用部署
StatefulSet: 有狀態應用部署
DaemonSet :確保所有Node運行同一個Pod
Job:一次性任務
Cronjob: 定時任務
更高級層次對象,部署和管理Pod
Service
防止Pod失聯
定義一組Pod的訪問策略
Label: 標簽,附加到某個資源上,用于關聯對象。查詢和篩選
Namespaces: 命名空間, 將對象邏輯上隔離
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。