简体   繁体   中英

Does the kube-apiserver start up the cluster addons or does the kubelet?

I've got a 5 node kubernetes cluster set up with 3 HA masters working nicely. Unfortunately DNS is not working or doesn't exist as a service to my knowledge.

The api-server, controller-manager, and scheduler are all running in pods and working correctly using the hyperkube 1.4.6 image on quay. I've created manifests for the dns service following https://coreos.com/kubernetes/docs/latest/deploy-addons.html in /etc/kubernetes/addons but they don't seem to have an effect. I was under the impression that DNS was built in to kubernetes at this point but I'm having a hard time figuring out what component it's built in to or how to start it.

Does the apiserver read the contents of /etc/kubernetes/addons or the kubelet ? I'm wondering if I need to mount /etc/kubernetes/addonss as a volume on the apiserver pod .

The addons are handled differently by different deployment methods. The CoreOS method that you linked to simply has you start them by hand using kubectl create -f dns-addon.yml ; there is no automation around that. If you did not run that command, give it a try and see if that solves your issue.

As mentioned above, other deployment methods do this as part of the deployment. The Salt-based kube-up.sh method, for example, uses a "watcher" pod called the kube-addon-manager ( manifest , code ). The kops deployment method deploys kube-dns , but uses kubectl for other addons, as outlined here . Since these addons are really not different from normal applications running on Kubernetes in the sense that they are just using normal Kubernetes manifests, there is some variation out there. You basically can take what your deployment method gives you and alter it to the needs of your environment.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM