问题描述
容器服务Kubernetes版Cloud Controller Manager(CCM)组件升级检查失败。
解决方案
阿里云提醒您:
- 如果您对实例或数据有修改、变更等风险操作,务必注意实例的容灾、容错能力,确保数据安全。
- 如果您对实例(包括但不限于ECS、RDS)等进行配置与数据修改,建议提前创建快照或开启RDS日志备份等功能。
- 如果您在阿里云平台授权或者提交过登录账号、密码等安全信息,建议您及时修改。
注意事项
- 在升级CCM组件时,建议您先了解CCM新功能,详情请参见Cloud Controller Manager新功能发布记录。
- 需要注意,如果在升级检查期间执行了Service变更操作,可能会导致升级检测结果存在误判,请重新发起升级检测即可。如果多次检测后仍未通过,请提交工单处理。
- 从v1.9.3.164-g2105d2e-aliyun版本起,支持Local模式下(即设定Service的externalTrafficPolicy=Local),Service会自动根据Node上的Pod数量为Node设置权重,权重计算规则请参见Local模式下如何自动设置Node权重。如果您的CCM版本低于v1.9.3.164-g2105d2e-aliyun,升级后将会自动调整SLB后端Node权重,使得Pod流量负载更加均衡,您可以通过流量变化查看负载情况。
- 若您想知道是哪个实例检查失败,可以选择检查结果右侧的实例信息,实例ID为SLB实例的ID,实例名称由命名空间和Service等组成。
CCM升级检查失败的错误提示及解决方案
错误提示 | 错误原因 | 解决方案 |
---|---|---|
create a new load balancer | 在进行升级期间的新建Service或者同步已有Service时,新建了SLB实例。 | 请通过控制台或者执行以下命令,确认Service是否处于pending状态。如果状态为Running,且已经生成外部IP,请重新发起检测;如果处于pending状态,请提交工单。
kubectl get svc [$Svc_Name] -n [$Namespace] 说明: |
modify the slb instance spec | SLB的规格和Service中配置的规格不一致。 | 将Service的annotation下的service.beta.kubernetes.io/alibaba-cloud-loadbalancer-spec 参数设置为SLB对应的规格,该参数的配置请参见通过Annotation配置负载均衡。 |
delete the load balancer | 不存在Service,但对应的SLB实例仍然存在。 | 如已不需要该SLB实例,请通过SLB控制台手动删除该SLB实例。如果还需要该SLB实例,请提交工单。 |
modify the slb internet spec | SLB的带宽或者支付类别与Service中配置的不一致。 |
|
remove backend servers | Endpoint与SLB后端服务器配置不一致。 |
|
add backend servers | ||
stop listener | Service的port与SLB监听配置不一致。 |
|
start listener | ||
delete listener | Service的port与SLB监听配置不一致。 |
|
create listener | Service的port与SLB监听配置不一致。 |
|
update listener | Service的port与SLB监听配置不一致。 |
|
create VServerGroup |
Endpoint与SLB后端虚拟服务器组配置不一致。 |
|
delete VServerGroup | Endpoint与SLB后端虚拟服务器组配置不一致。 |
|
add VServerGroup backends | ||
remove VServerGroup backends |
适用于
- 容器服务Kubernetes版