概念 - Kubernetes 調整選項
有時,調整 Pod 數目來處理增加的需求還不夠。 為了適應不斷變化的應用程式需求,例如工作日和晚上之間或在週末,叢集通常需要一種自動調整規模的方法。
Kubernetes 調整選項
Kubernetes 叢集可以使用下列其中一個元件進行調整:
- 叢集自動調整程式,監看由於資源限制式而無法在節點上進行排程的 Pod。 叢集會自動增加節點數目以符合需求。
- 水平 Pod 自動調整程式 (HPA),在 Kubernetes 叢集中使用計量伺服器來監視 Pod 的資源需求。 如果應用程式需要更多資源,Pod 數目會自動增加以符合需求。
HPA 與叢集自動調整程式也可視需要減少 Pod 和節點的數目。 當一段時間內有未使用的容量時,叢集自動調整程式會減少節點數目。 叢集自動調整程式需要移除的節點上的任何 Pod,會安全地排程在叢集中的其他位置。
如果 Pod 無法移動,叢集自動調整程式可能無法縮小,例如:
- Pod 是直接建立的,而且不受控制器物件 (例如部署或 ReplicaSet) 支援。
- Pod 中斷預算 (PDB) 限制太多,而且不允許低於特定閾值的 Pod 數目。
- 如果排程在不同節點上,則 Pod 會使用節點選取器或無法接受的反親和性。
搭配 HPA 使用 KEDA
KEDA 可作為自訂計量 API,使用調整程式向 HPA 公開計量,簡化開發計量伺服器的程序。
調整程式可協助將各種來源的計量提供給 HPA。 KEDA 支援各種不同的調整程式,包括:
- Apache Kafka
- AWS CloudWatch
- AWS Kinesis Stream
- AWS SQS Queue
- Azure Blob 儲存體
- Azure 事件中樞
- Azure Log Analytics
- Azure 監視器
- Azure 服務匯流排
- Azure 儲存體佇列
- Google Cloud Platform Pub/Sub
- IBM MQ
- InfluxDB
- NATS Streaming
- OpenStack Swift
- PostgreSQL
- Prometheus
- RabbitMQ 佇列
- Redis 清單
如需完整清單,請參閱 KEDA 目前可用的調整程式。