How to Add or Repair kube-dns in EKS?

4/9/2019

I'm running 1.10.13 on EKS on two clusters. I'm aware this will soon be obsolete for coredns on 1.11+.

One of our clusters has a functioning kube-dns deployment. The other cluster does not have kube-dns objects running.

I've pulled kube-dns serviceAccount, clusterRole, clusterRoleBinding, deployment, and service manifests from here using kubectl get <k8s object> --export.

Now I plan on applying those files to a different cluster.

However, I still see a kube-dns secret and I'm not sure how that is created or where I can get it.

This all seems pretty roundabout. What is the proper way of installing or repairing kube-dns on an EKS cluster?

-- ProGirlXOXO
amazon-eks
aws-eks
kube-dns
kubectl
kubernetes

1 Answer

4/9/2019

I believe the secret is usually part of the ServiceAccount, you'd still need to delete if it's there.

To create kube-dns you can try applying the official manifest:

$ kubectl apply -f https://storage.googleapis.com/kubernetes-the-hard-way/kube-dns.yaml`

Like you mentioned, you should consider moving to coredns as soon as possible.

-- Rico
Source: StackOverflow