k8s之pod控制器概述
阿新 • • 發佈:2021-07-15
在k8s中,按照pod的建立方式可以將其分為兩類
- 自主式pod:k8s直接創建出來的pod,這種pod刪除後就沒有了,也不會重建
- 控制器建立的pod:通過控制器建立的pod,這種pod刪除了之後還會自動重建
什麼是pod控制器
pod控制器是管理pod的中間層,使用了pod控制器之後,我們只需要告訴pod控制器,想要多少個什麼樣的pod就可以了,它就會創建出滿足條件的pod並確保每一個pod處於使用者期望的狀態,如果pod在執行中出現故障,控制器會基於指定策略重啟動或者重建pod
常見的pod控制器
- 在k8s中,有很多型別的pod控制器,每種都有自己的適合場景,常見的有下面這些:
- ReplicationController:比較原始的pod控制器,已經被廢棄,由ReplicaSet替代
- ReplicaSet:保證指定數量的pod執行,並支援pod數量變更,映象版本變更
- Deployment:通過控制ReplicaSet來控制pod,並支援滾動升級、版本回退
- Horizontal Pod Autoscaler:可以根據叢集負載自動調整Pod數量,實現削峰填谷
- DaemonSet:在叢集中的指定Node上都執行一個副本,一般用於守護程序類的任務
- Job:它創建出來的pod只要完成任務就立即退出,用於執行一次性任務
- Cronjob:它建立的pod會週期性地執行,用於執行週期性任務
- StatefulSet:管理有狀態應用