1. 程式人生 > 其它 >k8s之pod控制器概述

k8s之pod控制器概述

在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:管理有狀態應用