Apigee Hybrid 支援滾動更新。在 Kubernetes 中,滾動式更新可透過新 Pod 逐步更新 Pod 例項,讓部署作業更新過程中無需停機。
支援滾動式更新的元件
如果您在覆寫檔案中變更下列元件的任何混合屬性設定,可以使用 revision 屬性,表示您要對受影響的 Pod 執行逐步更新。
runtimemartudcametricssynchronizer
您也可以在變更下列任何屬性時使用 revision:
nodeSelector.*envs.*imagePullSecrets.*gcpProjectID(已淘汰)k8sClusterName(已淘汰)gcp.*k8sCluster.*contractProviderorg
如何執行輪動式更新
舉例來說,假設您想將目前的 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。