繁体   English   中英

在我使用 helm Charts 安装 k8s 后,LoadBalancer 'EXTERNAL IP' 处于待处理的 state

[英]LoadBalancer 'EXTERNAL IP" is in pending state after I installed k8s using helm Charts

我在 EKS 上安装了带有 Helm Charts 的 K8S,但负载均衡器 EXTERNAL IP 处于待定 state 中,我看到 EKS 现在确实支持服务类型:LoadBalancer。

我必须在网络传出流量级别检查吗? 如有经验请分享。

发送,

负载均衡器通常需要几秒钟或几分钟来为您配置Loadbalancer

如果 5 分钟后 IP 未配置: - 运行kubectl get svc <SVC_NAME> -o yaml并且如果有任何不同的注释集。

  • 默认情况下,带有Type:LoadBalancer的服务会自动配置为 Classic Load Balancer。 在这里了解更多。

  • 如果您想使用网络负载均衡器,您必须使用注释:

service.beta.kubernetes.io/aws-load-balancer-type: nlb
  • 该过程实际上是自动的,您不必检查网络流量。

  • 您可以通过手动创建负载均衡器类型的服务来检查您正在部署的 Helm Chart 是否存在任何问题,并检查它是否被配置:

$ kubectl run --generator=run-pod/v1 nginx --image=nginx --port=80
pod/nginx created

$ kubectl get pod nginx
NAME    READY   STATUS    RESTARTS   AGE
nginx   1/1     Running   0          34s

$ kubectl expose pod nginx --type=LoadBalancer
service/nginx exposed

$ kubectl get svc nginx -w
NAME    TYPE           CLUSTER-IP    EXTERNAL-IP   PORT(S)        AGE
nginx   LoadBalancer   10.1.63.178   <pending>     80:32522/TCP   7s
nginx   LoadBalancer   10.1.63.178   35.238.146.136   80:32522/TCP   42s
  • 在此示例中,LoadBalancer 需要42s来配置。 通过这种方式,您可以验证问题是否在 Helm Chart 或其他内容上。

如果 Kubernetes 在不支持 LoadBalancer 服务的环境中运行,则不会配置负载均衡器,但该服务仍将像 NodePort 服务一样运行,您的云/K8 引擎应该支持 LoadBalancer 服务

在这种情况下,如果您设法将 EIP 或 VIP 添加到您的节点,那么您可以附加到 k8 集群中 TYPE=LoadBalancer 的 EXTERNAL-IP,例如将 EIP/VIP 地址附加到节点 172.16.2.13

kubectl patch svc ServiceName -p '{"spec": {"type": "LoadBalancer", "externalIPs":["172.16.2.13"]}}'

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM