In AWS EKS, how to install and access etcd, kube-apiserver, and other things?

7/15/2020

I am learning AWS EKS now and I want to know how to access etcd, kube-apiserver and other control plane components?

For example, when we run command as below in minikube, we can find etcd-minikube,kube-apiserver-minikube

[vagrant@localhost ~]$ kubectl get pods --all-namespaces 
NAMESPACE     NAME                               READY   STATUS    RESTARTS   AGE
kube-system   coredns-6955765f44-lrt6z           1/1     Running   0          176d
kube-system   coredns-6955765f44-xbtc2           1/1     Running   1          176d
kube-system   etcd-minikube                      1/1     Running   1          176d
kube-system   kube-addon-manager-minikube        1/1     Running   1          176d
kube-system   kube-apiserver-minikube            1/1     Running   1          176d
kube-system   kube-controller-manager-minikube   1/1     Running   1          176d
kube-system   kube-proxy-69mqp                   1/1     Running   1          176d
kube-system   kube-scheduler-minikube            1/1     Running   1          176d
kube-system   storage-provisioner                1/1     Running   2          176d

And then, we can access them by below command:

[vagrant@localhost ~]$ kubectl exec -it -n kube-system kube-apiserver-minikube -- /bin/sh
# kube-apiserver
W0715 13:56:17.176154      21 services.go:37] No CIDR for service cluster IPs specified. 
...

My question: I want to do something like the above example in AWS EKS, but I cannot find kube-apiserver

xiaojie@ubuntu:~/environment/calico_resources$ kubectl get pods --all-namespaces 
NAMESPACE     NAME                      READY   STATUS    RESTARTS   AGE
kube-system   aws-node-flv95            1/1     Running   0          23h
kube-system   aws-node-kpkv9            1/1     Running   0          23h
kube-system   aws-node-rxztq            1/1     Running   0          23h
kube-system   coredns-cdd78ff87-bjnmg   1/1     Running   0          23h
kube-system   coredns-cdd78ff87-f7rl4   1/1     Running   0          23h
kube-system   kube-proxy-5wv5m          1/1     Running   0          23h
kube-system   kube-proxy-6846w          1/1     Running   0          23h
kube-system   kube-proxy-9rbk4          1/1     Running   0          23h
-- kyakya
amazon-eks
amazon-web-services
kubernetes

3 Answers

7/17/2020

As what Arghya Sadhu and Abdennour TOUMI said, EKS Encapsulates most Control Plane Components but kube-proxy, See here.

Amazon Elastic Kubernetes Service (Amazon EKS) is a managed service that makes it easy for you to run Kubernetes on AWS without needing to stand up or maintain your own Kubernetes control plane.

So, I have tried to find the way to configure these Components instead of accessing these container and input command, but finally I give up. See this Github issue.

-- kyakya
Source: StackOverflow

7/15/2020

AWS EKS is a managed kubernetes offering. Kubernetes control plane components such as API Server, ETCD are installed, managed and upgraded by AWS. Hence you can neither see these components nor can exec into these components.

In AWS EKS you can only play with the worker nodes

-- Arghya Sadhu
Source: StackOverflow

7/15/2020
  • You are at the left ... AWS is at the right

  • EKS is not a managed service for the whole kubernetes cluster.

  • EKS is a managed service only for Kubernetes Master nodes.

enter image description here

That's why, it's worth to operate EKS with tools (.e.g; terraform) that helps provisioning the whole cluster in no time .. as explained here.

-- Abdennour TOUMI
Source: StackOverflow