<p>I Installed K8S with Helm Charts on EKS but the Loadbalancer EXTERNAL IP is in pending state , I see that EKS does support the service Type : LoadBalancer now.</p>

<p>Is it something I will have to check at the network outgoing traffic level ? Please share your experience if any.</p>

<p>Tx,</p>

Rajesh Thakur
<p>The <code>Loadbalancer</code> usually takes some seconds or a few minutes to provision you an IP.</p>

<p>If after 5 minutes the IP isn't provisioned:
- run <code>kubectl get svc &lt;SVC_NAME&gt; -o yaml</code> and if there is any different annotation set.</p>

<ul>
<li><p>By default services with <code>Type:LoadBalancer</code> are provisioned with Classic Load Balancers automatically. Learn more <strong><a href="https://docs.aws.amazon.com/eks/latest/userguide/load-balancing.html" rel="nofollow noreferrer">here</a></strong>. </p></li>
<li><p>If you wish to use Network load Balancers you have to use the annotation:</p></li>
</ul>

<pre><code>service.beta.kubernetes.io/aws-load-balancer-type: nlb
</code></pre>

<ul>
<li><p>The process is really automatic, you don't have to check for network traffic.</p></li>
<li><p>You can check if there is any issue with the Helm Chart you are deploying by manually creating a service with loadbalancer type and check if it gets provisioned:</p></li>
</ul>

<pre><code>$ 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   &lt;pending&gt;     80:32522/TCP   7s
nginx   LoadBalancer   10.1.63.178   35.238.146.136   80:32522/TCP   42s
</code></pre>

<ul>
<li>In this example the LoadBalancer took <code>42s</code> to be provisioned. This way you can verify if the issue is on the Helm Chart or something else.</li>
</ul>
