Apigee Hybrid 支持 滚动更新。在 Kubernetes 中,滚动更新让部署更新可以通过用新的逐步更新 Pod 实例来实现零停机时间。
支持滚动更新的组件
如果您在替换文件中更改以下任何组件的混合属性设置,则可以使用 revision
属性指示您要对受影响的 pod 执行滚动更新。
runtime
mart
udca
metrics
synchronizer
当您更改以下任何属性时,也可以使用 revision
:
nodeSelector.*
envs.*
imagePullSecrets.*
gcpProjectID
(已弃用)k8sClusterName
(已弃用)gcp.*
k8sCluster.*
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。