滾動式更新

Apigee Hybrid 支援滾動更新。在 Kubernetes 中,滾動式更新可透過新 Pod 逐步更新 Pod 例項,讓部署作業更新過程中無需停機。

支援滾動式更新的元件

如果您在覆寫檔案中變更下列元件的任何混合屬性設定,可以使用 revision 屬性,表示您要對受影響的 Pod 執行逐步更新。

  • runtime
  • mart
  • udca
  • metrics
  • synchronizer

您也可以在變更下列任何屬性時使用 revision

  • nodeSelector.*
  • envs.*
  • imagePullSecrets.*
  • gcpProjectID
  • k8sClusterName
  • contractProvider
  • org

如何執行輪動式更新

舉例來說,假設您想將目前的 runtime 記憶體從 1Gi 變更為 5Gi:

在目前的設定中,revision 已設為 blue

...
revision: blue
...
runtime:
  replicaCountMin: 2
  replicaCountMax: 20
  resources:
    cpu: 1000m
    memory: 1Gi
...

在新設定中,revision 會變更為 green,表示您要在套用變更時執行滾動式更新。您為 revision 設定的值不重要,您可以使用任何字串,只要將其從先前的值變更為其他值即可。

...
revision: green
...
runtime:
  replicaCountMin: 2
  replicaCountMax: 20
  resources:
    cpu: 1000m
    memory: 5Gi
...

套用變更時,您可以使用 -c 標記,只更新特定 Pod。例如:

apigeectl apply -f my-overrides.yaml -c runtime

或者,如果您未使用 -c,則系統會更新所有有設定變更的 Pod。