diff options
Diffstat (limited to '')
-rw-r--r-- | notes/coredns-1.0.0.md | 75 |
1 files changed, 75 insertions, 0 deletions
diff --git a/notes/coredns-1.0.0.md b/notes/coredns-1.0.0.md new file mode 100644 index 000000000..c1b9de597 --- /dev/null +++ b/notes/coredns-1.0.0.md @@ -0,0 +1,75 @@ ++++ +title = "CoreDNS-1.0.0 Release" +description = "CoreDNS-1.0.0 Release Notes." +tags = ["Release", "1.0.0", "Notes"] +draft = false +release = "1.0.0" +date = "2017-12-01T22:43:43-00:00" +author = "coredns" ++++ + +We are pleased to announce the [release](https://github.com/coredns/coredns/releases/tag/v1.0.0) of CoreDNS-1.0.0! + +Release 1.0.0 and other recent releases have focused on improving the performance and +functionality of the *kubernetes* plugin, since CoreDNS is now on track to eventually +[replace kube-dns](https://github.com/kubernetes/features/issues/427) as the default +cluster DNS in Kubernetes. + +As part of the [Kubernetes proposal](https://github.com/kubernetes/community/pull/1100), we have shown that CoreDNS +not only provides more functionality than kube-dns, but performs much better while using less memory. In our tests, +[CoreDNS](https://github.com/kubernetes/community/pull/1100#issuecomment-337747482) running against a cluster with 5000 +services was able to process 18,000 queries per second using 73MB of RAM, while +[kube-dns](https://github.com/kubernetes/community/pull/1100#issuecomment-338329100) achieved 7,000qps using 97MB of RAM. +This can be partial ascribed to CoreDNS simpler runtime - a single process instead of a combination of several processes. + +CoreDNS also implements a number of Kubernetes-related features that are not part of kube-dns, including: + +* Filtering of records by namespace +* Filtering of records by label selector +* `pods verified` mode, which ensures that a Pod exists before returning an answer for a `pod.cluster.local` query +* `endpoint_pod_names` which uses [Pod names](https://github.com/kubernetes/kubernetes/issues/47992) for service endpoint records if the hostname is not set +* `autopath` which provides a server-side implementation of the namespace-specific search path. This can cut down the query latency from pods dramatically. + +As a general-purpose DNS server, CoreDNS also enables many other use cases that would be difficult or impossible to +achieve with kube-dns, such as the ability to create [custom DNS entries](https://coredns.io/2017/05/08/custom-dns-entries-for-kubernetes/). + +We are excited to continue our contributions to the Kubernetes community, and CoreDNS is being incorporated as a 1.9 alpha feature into a variety +of Kubernetes deployment mechanisms, including upcoming versions of [kubeadm](https://github.com/kubernetes/kubeadm), [kops](https://github.com/kubernetes/kops), [minikube](https://github.com/kubernetes/minikube), and [kubespray](https://github.com/kubernetes-incubator/kubespray). + +Of course, there is more to 1.0.0 than just the Kubernetes work. See below for the details on all the changes. + +## Core + +* Fixed a bug in the gRPC server that prevented *dnstap* from working with it. +* Additional fuzz testing to ferret out obscure bugs. +* Documentation and configuration cleanups. + +## Plugins +* *log* no longer accepts `stdout` in the configuration (use of a file was removed in a previous release). All logging is always to STDOUT. This is a backwards **incompatible** change, so be sure to check your Corefile for this. +* *health* now checks plugins that support it for health and reflects that in the server health. +* *kubernetes* now shows healthy only after the initial API sync is complete. +* *kubernetes* has bug fixes and performance improvements. +* *kubernetes* now has an option to use pod names instead of IPs in service endpoint records when the `hostname` is not set. +* *metrics* have been revised to provide better histograms. You will need to change your Prometheus queries as metric names have changed to comply with Prometheus best practices. +* *erratic* now supports the health check. + +## Contributors + +The following people helped with getting this release done: +Andy Goldstein, +Ben Kochie, +Brian Akins, +Chris O'Haver, +Christian Nilsson, +John Belamaric, +Max Schmitt, +Michael Grosser, +Miek Gieben, +Ruslan Drozhdzh, +Uladzimir Trehubenka, +Yong Tang. + +If you want to help, please check out one of the [issues](https://github.com/coredns/coredns/issues/) +and start coding! + +For documentation and help, see our [community page](https://coredns.io/community/). |