Skip to content

Commit 74b2a80

Browse files
authored
Merge pull request #26842 from rajansandeep/remove-kube-dns
Remove mentions of kube-dns in kubeadm docs
2 parents 31c5e7b + b957649 commit 74b2a80

File tree

9 files changed

+14
-69
lines changed

9 files changed

+14
-69
lines changed

content/en/docs/reference/setup-tools/kubeadm/implementation-details.md

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -436,12 +436,14 @@ A ServiceAccount for `kube-proxy` is created in the `kube-system` namespace; the
436436

437437
#### DNS
438438

439-
- In Kubernetes version 1.18 kube-dns usage with kubeadm is deprecated and will be removed in a future release
440439
- The CoreDNS service is named `kube-dns`. This is done to prevent any interruption
441-
in service when the user is switching the cluster DNS from kube-dns to CoreDNS or vice-versa
440+
in service when the user is switching the cluster DNS from kube-dns to CoreDNS
442441
the `--config` method described [here](/docs/reference/setup-tools/kubeadm/kubeadm-init-phase/#cmd-phase-addon)
443-
- A ServiceAccount for CoreDNS/kube-dns is created in the `kube-system` namespace.
444-
- The `kube-dns` ServiceAccount is bound to the privileges in the `system:kube-dns` ClusterRole
442+
- A ServiceAccount for CoreDNS is created in the `kube-system` namespace.
443+
- The `coredns` ServiceAccount is bound to the privileges in the `system:coredns` ClusterRole
444+
445+
- In Kubernetes version 1.21, support for using `kube-dns` with kubeadm was removed.
446+
You can use CoreDNS with kubeadm even when the related Service is named `kube-dns`.
445447

446448
## kubeadm join phases internal design
447449

content/en/docs/reference/setup-tools/kubeadm/kubeadm-config.md

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,6 @@ For more information navigate to
2020
[Using kubeadm init with a configuration file](/docs/reference/setup-tools/kubeadm/kubeadm-init/#config-file)
2121
or [Using kubeadm join with a configuration file](/docs/reference/setup-tools/kubeadm/kubeadm-join/#config-file).
2222

23-
In Kubernetes v1.13.0 and later to list/pull kube-dns images instead of the CoreDNS image
24-
the `--config` method described [here](/docs/reference/setup-tools/kubeadm/kubeadm-init-phase/#cmd-phase-addon)
25-
has to be used.
26-
2723
<!-- body -->
2824
## kubeadm config view {#cmd-config-view}
2925

content/en/docs/reference/setup-tools/kubeadm/kubeadm-init-phase.md

Lines changed: 0 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -143,25 +143,6 @@ install them selectively.
143143
{{< tab name="kube-proxy" include="generated/kubeadm_init_phase_addon_kube-proxy.md" />}}
144144
{{< /tabs >}}
145145

146-
To use kube-dns instead of CoreDNS you have to pass a configuration file:
147-
148-
```bash
149-
# for installing a DNS addon only
150-
kubeadm init phase addon coredns --config=someconfig.yaml
151-
```
152-
153-
The file has to contain a [`dns`](https://godoc.org/k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/v1beta2#DNS) field in[`ClusterConfiguration`](https://godoc.org/k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/v1beta2#ClusterConfiguration)
154-
and also a type for the addon - `kube-dns` (default value is `CoreDNS`).
155-
156-
```yaml
157-
apiVersion: kubeadm.k8s.io/v1beta2
158-
kind: ClusterConfiguration
159-
dns:
160-
type: "kube-dns"
161-
```
162-
163-
Please note that kube-dns usage with kubeadm is deprecated as of v1.18 and will be removed in a future release.
164-
165146
For more details on each field in the `v1beta2` configuration you can navigate to our
166147
[API reference pages.] (https://godoc.org/k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/v1beta2)
167148

content/en/docs/reference/setup-tools/kubeadm/kubeadm-init.md

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -66,12 +66,10 @@ following steps:
6666

6767
1. Installs a DNS server (CoreDNS) and the kube-proxy addon components via the API server.
6868
In Kubernetes version 1.11 and later CoreDNS is the default DNS server.
69-
To install kube-dns instead of CoreDNS, the DNS addon has to be configured in the kubeadm `ClusterConfiguration`.
70-
For more information about the configuration see the section `Using kubeadm init with a configuration file` below.
7169
Please note that although the DNS server is deployed, it will not be scheduled until CNI is installed.
7270

7371
{{< warning >}}
74-
kube-dns usage with kubeadm is deprecated as of v1.18 and will be removed in a future release.
72+
kube-dns usage with kubeadm is deprecated as of v1.18 and is removed in v1.21.
7573
{{< /warning >}}
7674

7775
### Using init phases with kubeadm {#init-phases}

content/en/docs/reference/setup-tools/kubeadm/kubeadm-upgrade.md

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,6 @@ For older versions of kubeadm, please refer to older documentation sets of the K
2020

2121
You can use `kubeadm upgrade diff` to see the changes that would be applied to static pod manifests.
2222

23-
To use kube-dns with upgrades in Kubernetes v1.13.0 and later please follow [this guide](/docs/reference/setup-tools/kubeadm/kubeadm-init-phase/#cmd-phase-addon).
24-
2523
In Kubernetes v1.15.0 and later, `kubeadm upgrade apply` and `kubeadm upgrade node` will also
2624
automatically renew the kubeadm managed certificates on this node, including those stored in kubeconfig files.
2725
To opt-out, it is possible to pass the flag `--certificate-renewal=false`. For more details about certificate

content/en/docs/setup/production-environment/tools/kubeadm/troubleshooting-kubeadm.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -149,7 +149,7 @@ Right after `kubeadm init` there should not be any pods in these states.
149149
MountFlags can interfere with volumes mounted by Kubernetes, and put the Pods in `CrashLoopBackOff` state.
150150
The error happens when Kubernetes does not find `var/run/secrets/kubernetes.io/serviceaccount` files.
151151

152-
## `coredns` (or `kube-dns`) is stuck in the `Pending` state
152+
## `coredns` is stuck in the `Pending` state
153153

154154
This is **expected** and part of the design. kubeadm is network provider-agnostic, so the admin
155155
should [install the pod network add-on](/docs/concepts/cluster-administration/addons/)

content/en/docs/tasks/administer-cluster/coredns.md

Lines changed: 3 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ For manual deployment or replacement of kube-dns, see the documentation at the
3636

3737
In Kubernetes version 1.10 and later, you can also move to CoreDNS when you use `kubeadm` to upgrade
3838
a cluster that is using `kube-dns`. In this case, `kubeadm` will generate the CoreDNS configuration
39-
("Corefile") based upon the `kube-dns` ConfigMap, preserving configurations for federation,
39+
("Corefile") based upon the `kube-dns` ConfigMap, preserving configurations for
4040
stub domains, and upstream name server.
4141

4242
If you are moving from kube-dns to CoreDNS, make sure to set the `CoreDNS` feature gate to `true`
@@ -46,8 +46,7 @@ kubeadm upgrade apply v1.11.0 --feature-gates=CoreDNS=true
4646
```
4747

4848
In Kubernetes version 1.13 and later the `CoreDNS` feature gate is removed and CoreDNS
49-
is used by default. Follow the guide outlined [here](/docs/reference/setup-tools/kubeadm/kubeadm-init-phase#cmd-phase-addon) if you want
50-
your upgraded cluster to use kube-dns.
49+
is used by default.
5150

5251
In versions prior to 1.11 the Corefile will be **overwritten** by the one created during upgrade.
5352
**You should save your existing ConfigMap if you have customized it.** You may re-apply your
@@ -56,26 +55,7 @@ customizations after the new ConfigMap is up and running.
5655
If you are running CoreDNS in Kubernetes version 1.11 and later, during upgrade,
5756
your existing Corefile will be retained.
5857

59-
60-
### Installing kube-dns instead of CoreDNS with kubeadm
61-
62-
{{< note >}}
63-
In Kubernetes 1.11, CoreDNS has graduated to General Availability (GA)
64-
and is installed by default.
65-
{{< /note >}}
66-
67-
{{< warning >}}
68-
In Kubernetes 1.18, kube-dns usage with kubeadm has been deprecated and will be removed in a future version.
69-
{{< /warning >}}
70-
71-
To install kube-dns on versions prior to 1.13, set the `CoreDNS` feature gate
72-
value to `false`:
73-
74-
```
75-
kubeadm init --feature-gates=CoreDNS=false
76-
```
77-
78-
For versions 1.13 and later, follow the guide outlined [here](/docs/reference/setup-tools/kubeadm/kubeadm-init-phase#cmd-phase-addon).
58+
In Kubernetes version 1.21, support for `kube-dns` is removed from kubeadm.
7959

8060
## Upgrading CoreDNS
8161

content/en/docs/tasks/administer-cluster/dns-custom-nameservers.md

Lines changed: 2 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ As of Kubernetes v1.12, CoreDNS is the recommended DNS Server, replacing kube-dn
3434
originally used kube-dns, you may still have `kube-dns` deployed rather than CoreDNS.
3535

3636
{{< note >}}
37-
Both the CoreDNS and kube-dns Service are named `kube-dns` in the `metadata.name` field.
37+
The CoreDNS Service is named `kube-dns` in the `metadata.name` field.
3838
This is so that there is greater interoperability with workloads that relied on the legacy `kube-dns` Service name to resolve addresses internal to the cluster. Using a Service named `kube-dns` abstracts away the implementation detail of which DNS provider is running behind that common name.
3939
{{< /note >}}
4040

@@ -179,17 +179,14 @@ During translation, all FQDN nameservers will be omitted from the CoreDNS config
179179

180180
CoreDNS supports the features of kube-dns and more.
181181
A ConfigMap created for kube-dns to support `StubDomains`and `upstreamNameservers` translates to the `forward` plugin in CoreDNS.
182-
Similarly, the `Federations` plugin in kube-dns translates to the `federation` plugin in CoreDNS.
183182

184183
### Example
185184

186-
This example ConfigMap for kube-dns specifies federations, stubdomains and upstreamnameservers:
185+
This example ConfigMap for kube-dns specifies stubdomains and upstreamnameservers:
187186

188187
```yaml
189188
apiVersion: v1
190189
data:
191-
federations: |
192-
{"foo" : "foo.feddomain.com"}
193190
stubDomains: |
194191
{"abc.com" : ["1.2.3.4"], "my.cluster.local" : ["2.3.4.5"]}
195192
upstreamNameservers: |
@@ -199,13 +196,6 @@ kind: ConfigMap
199196
200197
The equivalent configuration in CoreDNS creates a Corefile:
201198
202-
* For federations:
203-
```
204-
federation cluster.local {
205-
foo foo.feddomain.com
206-
}
207-
```
208-
209199
* For stubDomains:
210200
```yaml
211201
abc.com:53 {

content/en/docs/tasks/administer-cluster/kubeadm/kubeadm-upgrade.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -328,7 +328,7 @@ and post-upgrade manifest file for a certain component, a backup file for it wil
328328
- Makes sure the control plane images are available or available to pull to the machine.
329329
- Generates replacements and/or uses user supplied overwrites if component configs require version upgrades.
330330
- Upgrades the control plane components or rollbacks if any of them fails to come up.
331-
- Applies the new `kube-dns` and `kube-proxy` manifests and makes sure that all necessary RBAC rules are created.
331+
- Applies the new `CoreDNS` and `kube-proxy` manifests and makes sure that all necessary RBAC rules are created.
332332
- Creates new certificate and key files of the API server and backs up old files if they're about to expire in 180 days.
333333

334334
`kubeadm upgrade node` does the following on additional control plane nodes:

0 commit comments

Comments
 (0)