Chapter 6. Kubernetes

Kubernetes has become the dominant solution for managing container-based services. As a sibling Cloud Native Computing Foundation (CNCF) project, the CoreDNS community has also been closely involved in the Kubernetes community. After adding initial support for zone data files and for replacing SkyDNS’s functionality, the CoreDNS community began working on integrating with Kubernetes.

We chose to integrate with Kubernetes prior to the other container orchestration systems1 for two primary reasons. One was that the existing Kubernetes DNS service, kube-dns, was based on SkyDNS, and we saw an opportunity to improve its functioning. Additionally, the openness of the Kubernetes API made integrating with it much easier than with other container orchestration solutions.

In this chapter, we first discuss the basics of Kubernetes. This includes some of its internal structure and the principles behind its design and the different types of network services defined by Kubernetes. Next, the section on the DNS specification for Kubernetes explains how those different types of services are represented in the DNS records. Finally we discuss how CoreDNS itself is configured to run and scale within a Kubernetes cluster, and some special features and optimizations that CoreDNS provides beyond the standard Kubernetes functionality.

Basic Concepts

To understand how DNS fits into Kubernetes and how CoreDNS integrates with it, you must have a clear understanding of some of the ...

Get Learning CoreDNS now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.