簡體   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