NodePort not working with AWS EKS server endpoint

7/25/2018

eks server endpoint is xxxxxxxxxxx.xxx.eks.amazonaws.com and I've created a yml file with a deployment and service object.

[ec2-user@ip-]$ kubectl get svc
NAME         TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)          AGE
fakeserver   NodePort    10.100.235.246   <none>        6311:30002/TCP   1h
kubernetes   ClusterIP   10.100.0.1       <none>        443/TCP          1d

When I browse xxxxxxxxxxx.xxx.eks.amazonaws.com:30002 returns too long to respond. security groups have all traffic in inbound rules.

-- Ratul
amazon-eks
amazon-web-services
kubernetes
kubernetes-service

3 Answers

7/26/2018

For temp solution

you need run kubectl port-forward to redirect it to your local and access with https://localhost:30002

Remember: kubectl port-forward command binds the address 127.0.0.1 only, which means you can't visit the forward port from outside the server. So you have to run it locally

$ kubectl port-forward $(kubectl get pod -l "app=fakeserver" -o jsonpath={.items[0].metadata.name}) 30002

Access via loadbalancer

If you need access it permanently, you need change service type to LoadBalancer, then access this service via its loadbalancer url or you can you define another route53 DNS to redirect to this loadbalancer.

-- BMW
Source: StackOverflow

8/11/2019

The service that you have created is of type - Node-Port. Did you try with :30002

If it also returns the same error, then its an issue that your deployment. Check the port exposed on the container and the target port. It should be same.

-- RAMNEEK GUPTA
Source: StackOverflow

1/21/2020

You should be using your Worker Node's IP (one of the nodes if you have more than one), not the EKS server endpoint. The EKS server endpoint is the master plane, meant to process requests pertaining to creating/deleting pods, etc.

You also need to make sure that the Security Group of your Node's will allow the traffic.

With this in place you should be able to make the request to your NodePort service. For Example:

http://your-workernodeIp:NodePortNumber

-- nacho10f
Source: StackOverflow