概念 - 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 目前可用的調整程式

檢定您的知識

1.

您的工作負載會執行需要大量 CPU 的相片轉換。 您應該選擇哪一個調整選項?

2.

您的叢集在尖峰期間幾乎使用了其所有可用資源。 您應該使用哪一個調整選項?

3.

您的服務會處理來自 Apache Kafka 佇列的訊息。 您應該選擇哪一個調整選項?