Istio-Gateway does not obtain an external IP with EKS v2

9/11/2018

We try to deploy the hello world application from istio (booking info).

Environment

Region: Ireland Service: EKS v2 Istio: 1.0.1 Helm:

  Client: Client: &version.Version{SemVer:"v2.9.1", GitCommit:"20adb27c7c5868466912eebdf6664e7390ebe710", GitTreeState:"clean"}
  Server: Server: &version.Version{SemVer:"v2.9.1", GitCommit:"20adb27c7c5868466912eebdf6664e7390ebe710", GitTreeState:"clean"}

Context

We have intalled istio 1.0.1 with helm, with this command:

helm install install/kubernetes/helm/istio --name istio --namespace istio-system --set sidecarInjectorWebhook.enabled=true --set galley.enabled=true

We tried also to install istio without galley and without auto sidecar injection without success. Our ingress controller does not obtain an IP.

But unfortunately, our istio-ingressgateway has no external-ip. The status PENDING means that the platform (here AWS) can't create a LoadBalancer. It can't be the case, because we were also successfull doing that, when we were in region Oregon with EKS v1. The LoadBalancer was created.

kubectl get services -n istio-system -o wide

NAME                       TYPE           CLUSTER-IP       EXTERNAL-IP PORT(S) SELECTOR
istio-ingressgateway       LoadBalancer   172.20.195.15    <pending>     80:31380/TCP,443:31390/TCP,31400:31400/TCP,15011:31020/TCP,8060:30312/TCP,853:31767/TCP15030:32216/TCP,15031:32384/TCP   17h app=istio-ingressgateway,istio=ingressgateway
-- ste-xx
amazon-eks
istio
kubernetes

1 Answer

9/14/2018

A public subnet in EKS is needed for the loadbalancer. After adding a public subnet, everthing works fine.

-- ste-xx
Source: StackOverflow