Wondering how to resolve connection timeouts in Amazon EKS? We can help you.
Here, at Bobcares, we assist our customers with several AWS queries as part of our AWS Support Services.
Today, let us see steps followed by our Support Techs to resolve EKS issues.
How to resolve connection timeouts in Amazon EKS?
Basically, there are two reasons for connection error:
- Firstly, the security group or network access control list restrictions are preventing traffic from reaching the pod endpoints.
- The Service doesn’t select the pod endpoints because the labels don’t match.
Today, let us see the solutions given by our Support Techs.
Check your security group and network ACLs
Cluster IP
The cluster IP service type is used for communication between microservices that run in the same Amazon EKS cluster.
Make sure that the security group that’s attached to the instance where the destination pod is located has an inbound rule to allow communication from the client pod instance.
In most cases, there’s a self rule that allows all communication over all ports in the worker node security groups.
If you use multiple node groups, each with its own security group, make sure that you allow all communication between the security groups.
This lets the microservices that run across the multiple nodes to communicate easily.
Node port
The worker node security group should allow incoming traffic on the portthat was specified in the NodePort Service definition.
If it’s not specified in the Service definition, then the value of the port parameter is the same as the targetPort parameter.
The port is exposed on all nodes in the Amazon EKS cluster.
Check the network ACLS that are link to the worker node subnets.
Make sure that your client IP address is on the allow list over the port that the Service uses.
If you’re accessing the Kubernetes Service over the internet, make sure that your nodes have a Public IP address.
To access the Service, you must use the node’s Public IP address and port combination.
Load balancer
Make sure that the load balancer security group allows the listener ports.
Also, make sure that the worker node security group allows incoming traffic from the load balancer security group over the port where the application container is running.
If the port that’s specify in the Service definition is different from the targetPort, then you must allow the incoming traffic over the port in the worker node security group for the load balancer security group.
The port and targetPort are usually the same in the Service definition.
The network ACLs must allow your client IP address to reach the load balancer at the listener port.
If you’re accessing the load balancer over the internet, then make sure that you created a public load balancer.
Check if your Service select the pod endpoints correctly
If your pods aren’t register as backends for the Service, then you can receive a timeout error.
This can happen when you access the Service from a browser or when you run the curl podIP:podPort command.
Firstly, check the labels for the pods and verify that the Service has the appropriate label selectors.
Then, run the following commands to verify if your Kubernetes Service correctly select and register your pods.
Command:
kubectl get pods -o wide
Command:
kubectl describe svc your_service_name -n your_namespace
Note: Replace your_service_name with your service name and your_namespace with your namespace.
[Need help with the procedure? We’d be glad to assist you]
Conclusion
In short, we saw how our Support Techs resolve connection timeouts in Amazon EKS.
PREVENT YOUR SERVER FROM CRASHING!
Never again lose customers to poor server speed! Let us help you.
Our server experts will monitor & maintain your server 24/7 so that it remains lightning fast and secure.
0 Comments