coredns-deployment/kubernetes
Chris O'Haver fe1e658816 Create coredns-1.6.yaml.sed (#4)
* Create coredns-1.6.yaml.sed

Add coredns.yaml template that works with K8s 1.6.  (adding RBAC to grant API to coredns)

* Define RBAC first

Define RBAC before deployment.
2017-04-24 10:55:57 -04:00
..
coredns-1.6.yaml.sed Create coredns-1.6.yaml.sed (#4) 2017-04-24 10:55:57 -04:00
coredns.yaml.sed Add k8s deployment script and README 2017-02-22 16:23:11 -05:00
deploy.sh Add k8s deployment script and README 2017-02-22 16:23:11 -05:00
README.md Add k8s deployment script and README 2017-02-22 16:23:11 -05:00

kubernetes

CoreDNS can run in place of the standard Kube-DNS in Kubernetes. Using the kubernetes middleware, CoreDNS will reading zone data from a Kubernetes cluster. It implements the spec defined for Kubernetes DNS-Based service discovery:

https://github.com/kubernetes/dns/blob/master/docs/specification.md

deploy.sh and coredns.yaml.sed

deploy.sh is a convenience script to generate a manifest for running CoreDNS on a cluster that is currently running standard kube-dns. Using the coredns.yaml.sed as a template, it creates a ConfigMap and a CoreDNS deployment, then updates the Kube-DNS service selector to use the CoreDNS deployment. By re-using the existing service, there is no disruption in servicing requests.

The script doesn't delete the kube-dns deployment or replication controller - you'll have to do that manually.

You should examine the manifest carefully and make sure it is correct for your particular cluster. Depending on how you have built your cluster and the version you are running, some modifications to the manifest may be needed.

In the best case scenario, all that's needed to replace Kube-DNS are these two commands:

$ ./deploy.sh 10.3.0.0/24 | kubectl apply -f -
$ kubectl delete --namespace=kube-system deployment kube-dns