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