From 56b6d68396fb72f135a5f9dd82a4ac9ca3433f57 Mon Sep 17 00:00:00 2001 From: "Lubomir I. Ivanov" Date: Wed, 6 Jun 2018 18:49:26 +0300 Subject: [PATCH] kubeadm: update implementation-details.md about CoreDNS (#8829) - Replace examples from kube-dns to CoreDNS - Add notes about the CoreDNS feature gate status in 1.11 - Add note that the service name for CoreDNS is also called `kube-dns` --- .../kubeadm/implementation-details.md | 20 +++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/content/en/docs/reference/setup-tools/kubeadm/implementation-details.md b/content/en/docs/reference/setup-tools/kubeadm/implementation-details.md index 38dc52bfb3..9059248ce0 100644 --- a/content/en/docs/reference/setup-tools/kubeadm/implementation-details.md +++ b/content/en/docs/reference/setup-tools/kubeadm/implementation-details.md @@ -28,7 +28,7 @@ The cluster that `kubeadm init` and `kubeadm join` set up should be: - using secure communication between the control plane components - using secure communication between the API server and the kubelets - lock-down the kubelet API - - locking down access to the API for system components like the kube-proxy and kube-dns + - locking down access to the API for system components like the kube-proxy and CoreDNS - locking down what a Bootstrap Token can access - etc. - **Easy to use**: The user should not have to run anything more than a couple of commands: @@ -451,17 +451,21 @@ A ServiceAccount for `kube-proxy` is created in the `kube-system` namespace; the #### DNS -A ServiceAccount for `kube-dns` is created in the `kube-system` namespace. +Note that: -Deploy the kube-dns Deployment and Service: +- The CoreDNS service is named `kube-dns`. This is done to prevent any interruption +in service when the user is switching the cluster DNS from kube-dns to CoreDNS or vice-versa +- In Kubernetes version 1.11 and later, CoreDNS is the default DNS server and you must +invoke kubeadm with `--feature-gates=CoreDNS=false` to install kube-dns instead +- In Kubernetes version 1.10 and earlier, you must enable CoreDNS with `--feature-gates=CoreDNS=true` -- It's the upstream kube-dns deployment relatively unmodified +A ServiceAccount for CoreDNS/kube-dns is created in the `kube-system` namespace. + +Deploy the `kube-dns` Deployment and Service: + +- It's the upstream CoreDNS deployment relatively unmodified - The `kube-dns` ServiceAccount is bound to the privileges in the `system:kube-dns` ClusterRole -Please note that: - -1. If kubeadm is invoked with `--feature-gates=CoreDNS`, CoreDNS is installed instead of `kube-dns` - ### (Optional and alpha in v1.9) self-hosting This phase is performed only if `kubeadm init` is invoked with `—features-gates=selfHosting`