在CCE Turbo集群中配置Pod延时启动参数
应用场景
CCE Turbo集群在某些特定场景下(例如跨VPC、专线互联),会出现对端Pod的路由规则生效慢的情况。在这种情况下,可以利用Pod延时启动的能力进行规避。
您也可以使用企业路由器连接对端VPC来解决该问题,详情请参见集群通过企业路由器连接对端VPC。
约束与限制
仅以下指定版本的CCE Turbo集群支持配置Pod延时启动参数::
- v1.19集群:v1.19.16-r40及以上版本
- v1.21集群:v1.21.11-r0及以上版本
- v1.23集群:v1.23.9-r0及以上版本
- v1.25集群:v1.25.4-r0及以上版本
通过kubectl命令行设置
您可以通过对工作负载添加annotations来设置是否开启Pod延时启动功能,如下所示。
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx
spec:
replicas: 10
selector:
matchLabels:
app: nginx
strategy:
rollingUpdate:
maxSurge: 25%
maxUnavailable: 25%
type: RollingUpdate
template:
metadata:
labels:
app: nginx
annotations:
cni.yangtse.io/readiness-delay-seconds: "20"
spec:
containers:
- name: container-0
image: nginx:alpine
resources:
limits:
cpu: 100m
memory: 200Mi
requests:
cpu: 100m
memory: 200Mi
imagePullSecrets:
- name: default-secret 该示例为一个需要配置访问跨VPC虚机IP的Deployment,该Deployment的副本数最大为10且滚动升级最大浪涌为25%,即升级过程中可能的最大Pod数为13。在该工作负载注解中,指定了Pod延时启动时间为20s,在该时间内保证Pod正常启动后,跨VPC网络可正常访问。
| 注解 | 默认值 | 参数说明 | 取值范围 |
|---|---|---|---|
| cni.yangtse.io/readiness-delay-seconds | 无 | Pod健康检查延时等待的时间。 | 0-60 |