調整及自動調整執行階段服務資源

您可以透過指令列或在設定覆寫中,擴充 Kubernetes 中執行的大部分服務。您可以在 overrides.yaml 檔案中,為 Apigee Hybrid 執行階段服務設定資源調度參數。

服務 導入方式 資源調度
Cassandra ApigeeDatastore (CRD) 請參閱「調度 Cassandra 資源」。
Ingress/LoadBalancer 部署作業問題 Anthos 服務網格會使用水平 Pod 自動調度資源 (HPA)。
記錄器 DaemonSet DaemonSet 會管理所有節點上的 Pod 副本,因此當您擴充 Pod 時,DaemonSet 也會擴充。
MART
Apigee Connect
Watcher
ApigeeOrganization (CRD)

如要透過設定進行調整,請增加 Deployment 的 replicaCountMin 設定屬性值,適用於 martwatcher 和/或 connectAgent 節。例如:

mart:
 replicaCountMax: 2
 replicaCountMin: 1

watcher:
 replicaCountMax: 2
 replicaCountMin: 1

connectAgent:
 replicaCountMax: 2
 replicaCountMin: 1

這些 Deployment 會使用水平 Pod 自動配置器進行自動調度。將 Deployment 物件的 targetCPUUtilizationPercentage 屬性設為調度上限的門檻;如果超過這個值,Kubernetes 會新增 Pod,直到達到 replicaCountMax 的值為止。

如要進一步瞭解如何設定設定屬性,請參閱「管理執行階段平面元件」。

執行階段
同步器
UDCA
ApigeeEnvironment (CRD) 如要透過設定進行調整,請在覆寫檔案中,增加 udcasynchronizer 和/或 runtime 節的 replicaCountMin 屬性值。例如:
synchronizer:
 replicaCountMax: 10
 replicaCountMin: 1

runtime:
 replicaCountMax: 10
 replicaCountMin: 1

udca:
 replicaCountMax: 10
 replicaCountMin: 1

注意: 這些變更會套用至覆寫檔案中的「所有」環境。 如要為每個環境自訂縮放比例,請參閱下方的「進階設定」

這些部署作業會使用水平 Pod 自動調度器進行自動調度。將 Deployment 物件的 targetCPUUtilizationPercentage 屬性設為擴充的門檻;超過這個值時,Kubernetes 會新增 Pod,直到達到 replicaCountMax 的值為止。

如要進一步瞭解如何設定設定屬性,請參閱「管理執行階段平面元件」。

進階設定

在某些情況下,您可能需要使用進階縮放選項。情境範例包括:

  • 為每個環境設定不同的縮放選項。舉例來說,env1 的 minReplica 為 5,env2 的 minReplica 為 2。
  • 為環境中的每個元件設定不同的縮放選項。舉例來說,udca 元件的 maxReplica 為 5,synchronizer 元件的 maxReplica 為 2。

下列範例說明如何使用 kubernetes patch 指令,變更 runtime 元件的 maxReplicas 屬性:

  1. 建立環境變數,以便搭配指令使用:
    export ENV=my-environment-name
    export NAMESPACE=apigee  #the namespace where apigee is deployed
    export COMPONENT=runtime #can be udca or synchronizer
    export MAX_REPLICAS=2
    export MIN_REPLICAS=1
  2. 套用修補程式。請注意,這個範例假設 kubectl 位於 PATH 中:
    kubectl patch apigeeenvironment -n $NAMESPACE \
      $(kubectl get apigeeenvironments -n $NAMESPACE -o jsonpath='{.items[?(@.spec.name == "'$ENV'" )]..metadata.name}') \
      --patch "$(echo -e "spec:\n  components:\n    $COMPONENT:\n      autoScaler:\n        maxReplicas: $MAX_REPLICAS\n        minReplicas: $MIN_REPLICAS")" \
      --type merge
  3. 確認變更:
    kubectl get hpa -n $NAMESPACE