滾動式更新

Apigee Hybrid 支援輪替更新。在 Kubernetes 中,滾動式更新會逐步更新 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。