Search code examples
amazon-web-serviceskuberneteskubectl

Replacing AWS ELB in K8 cluster


I have a k8 cluster deployed in AWS using kube-aws. When I deploy a service, a new ELB is added for exposing the service to internet. Can I use ingress-controller to replace ELB or is there any other way to expose services other than ELB?


Solution

  • First, replace type: LoadBalancer with type: ClusterIP in your service definition. Then you have to configure the ingress and deploy a controller, like Nginx

    If you are looking for a full example, I have one here: nginx-ingress-controller.

    The ingress will expose you services using some of your workers public IPs, usually 2 of them. Just check your ingress kubectl get ing -o wide and create the DNS records.