How to figure out my control plane instance in EKS

12/7/2020

From grafana dashboard, I can see that one of the 2 kubeapiservers in my EKS is having high API latency. The grafana dashboard identifies the instance using the endpoint ip.

root@k8scluster:~ $ kubectl describe service/kubernetes
Name:              kubernetes
Namespace:         default
Labels:            component=apiserver
                   provider=kubernetes
Annotations:       <none>
Selector:          <none>
Type:              ClusterIP
IP:                172.50.0.1
Port:              https  443/TCP
TargetPort:        443/TCP
Endpoints:         10.0.99.157:443,10.0.10.188:443
Session Affinity:  None
Events:            <none>

Now, this endpoint (10.0.99.157) is the one which has high latency when I check from grafana. When I login to my aws console, I have access to aws ec2 instances page, but I don't have access to see the nodes in the AWS EKS page.

From EC2 console, I can figure out the 2 instances which are my running my kubeapiserver. However, I can't seem to figure out which is the one which has high latency (i.e the instance which has the endpoint ip 10.0.99.157). Is there any way I can figure out the same from ec2 console or using eks commands?

Update:

I did compare it with the IP addresses / Secondary IP addresses of both the kubeapiserver ec2 instances. But none match the endpoint ip 10.0.99.157

-- Saha
amazon-ec2
amazon-eks
amazon-web-services
kubernetes

1 Answer

12/7/2020

Please note that the EKS K8s Control Plane is managed by AWS and therefore outside of your management. So, you will not be able to access the respective EC2 instances at all.

Official AWS documentation can be found here.

-- Fritz Duchardt
Source: StackOverflow