您可以透過指令列或在設定覆寫中,擴充 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 的 mart: replicaCountMax: 2 replicaCountMin: 1 watcher: replicaCountMax: 2 replicaCountMin: 1 connectAgent: replicaCountMax: 2 replicaCountMin: 1 這些 Deployment 會使用水平 Pod 自動配置器進行自動調度。將 Deployment 物件的 如要進一步瞭解如何設定設定屬性,請參閱「管理執行階段平面元件」。 |
| 執行階段 同步器 UDCA |
ApigeeEnvironment (CRD) | 如要透過設定進行調整,請在覆寫檔案中,增加 udca、synchronizer 和/或 runtime 節的 replicaCountMin 屬性值。例如:
synchronizer: replicaCountMax: 10 replicaCountMin: 1 runtime: replicaCountMax: 10 replicaCountMin: 1 udca: replicaCountMax: 10 replicaCountMin: 1 注意: 這些變更會套用至覆寫檔案中的「所有」環境。 如要為每個環境自訂縮放比例,請參閱下方的「進階設定」。 這些部署作業會使用水平 Pod 自動調度器進行自動調度。將 Deployment 物件的 如要進一步瞭解如何設定設定屬性,請參閱「管理執行階段平面元件」。 |
進階設定
在某些情況下,您可能需要使用進階縮放選項。情境範例包括:
- 為每個環境設定不同的縮放選項。舉例來說,env1 的
minReplica為 5,env2 的minReplica為 2。 - 為環境中的每個元件設定不同的縮放選項。舉例來說,
udca元件的maxReplica為 5,synchronizer元件的maxReplica為 2。
下列範例說明如何使用 kubernetes patch 指令,變更 runtime 元件的 maxReplicas 屬性:
- 建立環境變數,以便搭配指令使用:
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
- 套用修補程式。請注意,這個範例假設
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
- 確認變更:
kubectl get hpa -n $NAMESPACE