更新时间:2025-06-13 GMT+08:00
NGINX Ingress控制器插件部分就绪如何处理?
当NGINX Ingress控制器插件显示“部分就绪”状态时,表示插件下只有部分实例状态为“运行中”或者对应服务未完全创建成功,导致插件部分功能可用,可能出现Ingress无法正常访问的情况。
集群资源不足(Standard/Turbo集群)
Standard/Turbo集群中,如果插件实例部分未就绪,可能由于集群资源不足引起,请您参考以下步骤进行排查。
- 登录CCE控制台,单击集群名称进入目标集群。
- 在左侧导航栏中选择“工作负载”,并切换至“kube-system”命名空间。
- 单击“cceaddon-nginx-ingress-controller”工作负载名称,查看实例列表并单击操作栏中的“事件”。
当事件中存在以下信息时,说明“实例资源的申请量”超过了“实例所在节点的可分配资源总量”时,节点无法满足实例所需资源要求导致调度失败。
0/x nodes are available: x Insufficient cpu. 0/x nodes are available: x Insufficient memory.
解决方案:
集群资源不足的情况下,可以通过扩容集群中的节点数量进行解决。
Pod资源规格售罄(Autopilot集群)
Autopilot集群中,如果插件实例部分未就绪,可能由于Pod资源规格售罄引起,请您参考以下步骤进行排查。
- 登录CCE控制台,单击集群名称进入目标集群。
- 在左侧导航栏中选择“工作负载”,并切换至“kube-system”命名空间。
- 单击“cceaddon-nginx-ingress-controller”工作负载名称,查看实例列表并单击操作栏中的“事件”。
当事件中存在以下信息时,说明Pod申请资源规格售罄。
This specification resource has been sold out, please try other specifications
解决方案:
当前Pod资源规格售罄,请尝试编辑插件使用其他资源规格。
指定负载均衡器不存在
- 登录CCE控制台,单击集群名称进入目标集群。
- 在左侧导航栏中选择“服务”,并切换至“kube-system”命名空间。
- 找到名为“cceaddon-nginx-ingress-controller”的服务,并单击该服务操作栏中的“事件”。
当事件中存在以下信息时,说明NGINX Ingress控制器指定的弹性负载均衡器不存在。
Error syncing load balancer:failed to ensure load balancer:Not Found
解决方案:
请卸载NGINX Ingress控制器插件并重装,在安装过程中重新指定一个新的弹性负载均衡器。详情请参见NGINX Ingress控制器。
监听器配额不足
- 登录CCE控制台,单击集群名称进入目标集群。
- 在左侧导航栏中选择“服务”,并切换至“kube-system”命名空间。
- 找到名为“cceaddon-nginx-ingress-controller”的服务,并单击该服务操作栏中的“事件”。
当事件中存在以下信息时,说明弹性负载均衡器监听器配额不足。
Error syncing load balancer: failed to ensure load balancer: [EnsureCreateListener: Failed to CreateListener : Failed to CreateListener : request failed: {"error_msg":"Quota exceeded for resources: listener","error_code":"ELB.8905","request_id":"***}, status code: 409...
解决方案:
请提交工单申请扩大配额,或删除其他无需使用的监听器。
80和443端口被占用
- 登录CCE控制台,单击集群名称进入目标集群。
- 在左侧导航栏中选择“服务”,并切换至“kube-system”命名空间。
- 找到名为“cceaddon-nginx-ingress-controller”的服务,并单击该服务操作栏中的“事件”。
当事件中存在以下信息时,说明弹性负载均衡器80或443端口被占用。
Error syncing load balancer: failedto ensure load balancer: [EnsureCreatelistener: Failed to CreateListener : Falled to CreateListener: request failed: {error_msg":"Load Balancer *** already has alistener with protocol_port of 80."."error_ code":"ELB.8907"."request id:***"}, status code: 409...
解决方案:
请卸载NGINX Ingress控制器插件并重装,在安装过程中重新指定一个新的弹性负载均衡器。详情请参见NGINX Ingress控制器。