Yandex.Cloud中Kubernetes LoadBalancer的External-IP一直Pending求助
Yandex.Cloud Kubernetes LoadBalancer External-IP 一直Pending的排查步骤
检查节点服务账号权限
Yandex.Cloud的LoadBalancer资源创建依赖集群节点的服务账号权限,必须确保节点组关联的服务账号绑定了load-balancer.admin角色。
执行yc kubernetes node-group get <你的节点组ID>获取服务账号ID,再通过IAM控制台验证该账号的角色配置。验证集群网络配置
- 确认集群节点组部署在公共子网中,Yandex.Cloud LoadBalancer需要依托公共子网分配公网IP;若节点在私有子网,需同时配置NAT网关,但仍需确保集群所在VPC有可用的公共子网资源。
- 检查VPC安全组规则,放行LoadBalancer健康检查的流量(默认匹配Service定义的端口,比如TCP 80),同时确保集群节点的安全组允许与LoadBalancer通信。
查看Service及Pod状态
- 执行
kubectl describe service my-single-pod-service,查看Events字段的错误提示,通常会直接显示权限不足、子网不匹配等问题。 - 执行
kubectl get pods确认关联的Pod处于Running状态且就绪探针(若配置)通过,Pod异常会导致LoadBalancer跳过IP分配。
- 执行
检查Yandex.Cloud负载均衡器资源
执行yc load-balancer network-load-balancer list,查看是否有与Kubernetes Service对应的负载均衡器资源。如果没有,说明Kubernetes云控制器未成功调用Yandex API;如果有但状态非ACTIVE,可通过控制台查看具体错误信息。确认云控制器组件状态
Yandex.Cloud Kubernetes集群依赖yandex-cloud-controller-manager组件实现云资源联动,执行kubectl get pods -n kube-system | grep yandex-cloud-controller-manager,确保该组件的Pod全部处于Running状态,日志无报错。检查资源配额
登录Yandex.Cloud控制台的配额页面,确认当前区域的负载均衡器资源配额未耗尽。若配额不足,需提交配额提升申请。
内容的提问来源于stack exchange,提问作者alex_t
相关产品推荐
相关产品推荐

