76 lines
4.1 KiB
Markdown
76 lines
4.1 KiB
Markdown
|
+++
|
||
|
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/).
|