通用检查项
插件状态异常检查
检查说明:
检测到插件关联的Pod或Service未全部就绪,导致插件处于非“运行中”状态。
检测范围:
- 支持检查类型:
- 插件运行中巡检
- 插件编辑/升级前检查
- 支持集群范围:1.15及以上集群版本
- 支持插件范围:所有插件
风险说明:
- 若在插件未完全就绪的情况下继续执行集群升级,可能导致插件功能异常、中断业务流量,甚至影响升级任务的正常执行。
- 特别是关键流量插件(如Ingress、Service Mesh等),未就绪时进行升级会放大故障影响范围。
解决方案:
- 登录CCE控制台,单击集群名称进入集群。
- 在左侧导航栏中选择“插件中心”,在右侧找到插件,查看插件状态。
如果插件状态不为“运行中”,则检查异常,需要进一步排查。
- 检查插件关联的Pod状态,以CoreDNS域名解析插件为例。
- 在左侧导航栏中选择“工作负载”,切换至“容器组”页签,并选择插件所在命名空间。
- 使用标签“release={releaseName}”过滤该插件的所有Pod,单击“更多 > 查看YAML”。
查看status字段,确认以下参数:
- 确认phase参数值为“Running”。
- conditions字段中找到Ready类型,确认status参数值为“True”。
- 确认所有containerStatuses字段下所有容器的ready参数值为“true”。
- 单击“事件”,查看未就绪Pod的事件日志,定位启动失败原因。
- 检查插件关联的Service状态。部分插件如果没有关联的Service,则可跳过本步骤。以NGINX Ingress控制器插件为例。
- 在左侧导航栏中选择“服务”中,并选择Service所在命名空间。
- 使用标签“release={releaseName}”过滤该插件的所有Service, 找到负载均衡类型的Service,单击“更多 > 查看YAML”。
查看status.loadBalancer.ingress字段参数值不为空。
- 单击“事件”,查看负载均衡类型Service的事件,定位关联负载均衡器失败的原因。
- 确认插件关联的Pod、Service状态就绪后,重新执行插件检查,再进行编辑或升级插件操作。
插件配置异常检查
检查说明:
在插件检查过程中,同步执行了与插件编辑/升级请求相同的配置参数校验逻辑。检测结果显示插件配置存在错误,通常由参数填写不正确、格式不符合要求或必填项缺失等原因导致。
检测范围:
- 支持检查类型:插件编辑/升级前检查
- 支持集群范围:1.15及以上集群版本
- 支持插件范围:所有插件
风险说明:
配置错误会导致插件无法正常编辑或升级。
解决方案:
- 根据插件检查结果中的 “错误信息”,定位具体配置项的问题。
- 按照插件参数说明或模板要求,修正参数值,确保格式与内容符合校验规则。
- 确认错误已消除后,重新执行插件检查,再进行编辑或升级插件操作。
模板检查
检查说明:
当前插件相关的Kubernetes资源与预期Helm模板内容存在不兼容差异,此类在插件升级后将无法保留的配置将触发模板检查异常。该异常通常源于您曾通过非插件配置的下发方式(例如直接后台使用kubectl)修改了资源配置。
检测范围:
- 支持检查类型:
- 插件运行中巡检
- 插件编辑/升级前检查
- 支持集群范围:1.19及以上集群版本
- 支持插件范围:
- NGINX Ingress控制器插件的cceaddon-nginx-ingress-controller Deployment与ConfigMap资源。
- CoreDNS插件的ConfigMap资源。
风险说明:
升级插件时,这些与模板不兼容的改动会被覆盖或丢失。
在未察觉的情况下,可能导致业务配置被回滚、流量中断或副本数变化等问题。
解决方案:
- 确认当前Kubernetes资源与预期模板资源的具体差异项。
- 修改Kubernetes资源,将不兼容项调整至与预期模版内容一致。
- 如果Kubernetes资源无法还原至预期状态,但可通过插件配置更新将差异内容重新下发时,则可选择忽略该异常并执行下发。
(例如:原NGINX Ingress控制器插件的工作负载副本数为4,而模板配置为2,此时可在插件配置中将副本数调整为4,并选择忽略异常后执行下发,使生成资源与实际期望保持一致。)