mirror of
https://github.com/rancher/rancher-docs.git
synced 2026-05-19 19:35:17 +00:00
Add CoreDNS as default and remove experimental
This commit is contained in:
committed by
Denise
parent
97849f2bc9
commit
cf557022c0
@@ -109,6 +109,16 @@ Instead of using the Rancher UI to choose Kubernetes options for the cluster, ad
|
||||
|
||||
For an example of RKE config file syntax, see the [RKE documentation]({{< baseurl >}}/rke/latest/en/example-yamls/).
|
||||
|
||||
### Default DNS provider
|
||||
|
||||
The table below indicates what DNS provider is deployed by default. See [RKE documentation on DNS provider]({{< baseurl >}}/rke/latest/en/config-options/add-ons/dns/) for more information how to configure a different DNS provider. CoreDNS can only be used on Kubernetes v1.12.0 and higher.
|
||||
|
||||
| Rancher version | Kubernetes version | Default DNS provider |
|
||||
|-------------|--------------------|----------------------|
|
||||
| v2.2.5 and higher | v1.14.0 and higher | CoreDNS |
|
||||
| v2.2.5 and higher | v1.13.x and lower | kube-dns |
|
||||
| v2.2.4 and lower | any | kube-dns |
|
||||
|
||||
### Rancher specific parameters
|
||||
|
||||
_Available as of v2.2.0_
|
||||
|
||||
@@ -27,10 +27,12 @@ There are several options that can be configured in cluster configuration option
|
||||
* [Authorization]({{< baseurl >}}/rke/latest/en/config-options/authorization/)
|
||||
* [Cloud Providers]({{< baseurl >}}/rke/latest/en/config-options/cloud-providers/)
|
||||
* [Add-ons]({{< baseurl >}}/rke/latest/en/config-options/add-ons/)
|
||||
* [Add-ons Jobs Timeout](#add-ons-jobs-timeout)
|
||||
* [Network Plugins]({{< baseurl >}}/rke/latest/en/config-options/add-ons/network-plugins/)
|
||||
* [Ingress Controller]({{< baseurl >}}/rke/latest/en/config-options/add-ons/ingress-controllers/)
|
||||
* [User-Defined-Add-ons]({{< baseurl >}}/rke/latest/en/config-options/add-ons/user-defined-add-ons/)
|
||||
* [Network Plug-ins]({{< baseurl >}}/rke/latest/en/config-options/add-ons/network-plugins/)
|
||||
* [DNS providers]({{< baseurl >}}/rke/latest/en/config-options/add-ons/dns/)
|
||||
* [Ingress Controllers]({{< baseurl >}}/rke/latest/en/config-options/add-ons/ingress-controllers/)
|
||||
* [Metrics Server]({{< baseurl >}}/rke/latest/en/config-options/add-ons/metrics-server/)
|
||||
* [User-Defined Add-ons]({{< baseurl >}}/rke/latest/en/config-options/add-ons/user-defined-add-ons/)
|
||||
* [Add-ons Job Timeout](#add-ons-job-timeout)
|
||||
|
||||
|
||||
## Cluster Level Options
|
||||
|
||||
@@ -1,9 +1,64 @@
|
||||
---
|
||||
title: DNS provider
|
||||
title: DNS providers
|
||||
weight: 262
|
||||
---
|
||||
|
||||
By default, RKE deploys [kube-dns](https://github.com/kubernetes/dns) as DNS provider for your cluster.
|
||||
RKE provides the following DNS providers that can be deployed as add-ons:
|
||||
|
||||
* [CoreDNS](https://coredns.io)
|
||||
* [kube-dns](https://github.com/kubernetes/dns)
|
||||
|
||||
| RKE version | Kubernetes version | Default DNS provider |
|
||||
|-------------|--------------------|----------------------|
|
||||
| v0.2.5 and higher | v1.14.0 and higher | CoreDNS |
|
||||
| v0.2.5 and higher | v1.13.x and lower | kube-dns |
|
||||
| v0.2.4 and lower | any | kube-dns |
|
||||
|
||||
CoreDNS was made the default in RKE v0.2.5 when using Kubernetes 1.14 and higher. If you are using an RKE version lower than v0.2.5, kube-dns will be deployed by default.
|
||||
|
||||
# CoreDNS
|
||||
|
||||
_Available as of v0.2.5_
|
||||
|
||||
CoreDNS can only be used on Kubernetes v1.12.0 and higher.
|
||||
|
||||
RKE will deploy CoreDNS as a Deployment with the default replica count of 1. The pod consists of 1 container: `coredns`. RKE will also deploy coredns-autoscaler as a Deployment, which will scale the coredns Deployment by using the number of cores and nodes. Please see [Linear Mode](https://github.com/kubernetes-incubator/cluster-proportional-autoscaler#linear-mode) for more information about this logic.
|
||||
|
||||
The images used for CoreDNS are under the [`system_images` directive]({{< baseurl >}}/rke/latest/en/config-options/system-images/). For each Kubernetes version, there are default images associated with CoreDNS, but these can be overridden by changing the image tag in `system_images`.
|
||||
|
||||
## Scheduling CoreDNS
|
||||
|
||||
If you only want the CoreDNS pod to be deployed on specific nodes, you can set a `node_selector` in the `dns` section. The label in the `node_selector` would need to match the label on the nodes for the CoreDNS pod to be deployed.
|
||||
|
||||
```yaml
|
||||
nodes:
|
||||
- address: 1.1.1.1
|
||||
role: [controlplane,worker,etcd]
|
||||
user: root
|
||||
labels:
|
||||
app: dns
|
||||
|
||||
dns:
|
||||
provider: coredns
|
||||
node_selector:
|
||||
app: dns
|
||||
```
|
||||
|
||||
## Configuring CoreDNS
|
||||
|
||||
### Upstream nameservers
|
||||
|
||||
By default, CoreDNS will use the host configured nameservers (usually residing at `/etc/resolv.conf`) to resolve external queries. If you want to configure specific upstream nameservers to be used by CoreDNS, you can use the `upstreamnameservers` directive.
|
||||
|
||||
```yaml
|
||||
dns:
|
||||
provider: coredns
|
||||
upstreamnameservers:
|
||||
- 1.1.1.1
|
||||
- 8.8.4.4
|
||||
```
|
||||
|
||||
# kube-dns
|
||||
|
||||
RKE will deploy kube-dns as a Deployment with the default replica count of 1. The pod consists of 3 containers: `kubedns`, `dnsmasq` and `sidecar`. RKE will also deploy kube-dns-autoscaler as a Deployment, which will scale the kube-dns Deployment by using the number of cores and nodes. Please see [Linear Mode](https://github.com/kubernetes-incubator/cluster-proportional-autoscaler#linear-mode) for more information about this logic.
|
||||
|
||||
@@ -29,16 +84,6 @@ dns:
|
||||
app: dns
|
||||
```
|
||||
|
||||
## Disabling kube-dns
|
||||
|
||||
_Available as of v0.2.0_
|
||||
|
||||
You can disable the default DNS provider by specifying `none` to the dns `provider` directive in the cluster configuration. Be aware that this will prevent your pods from doing name resolution in your cluster.
|
||||
|
||||
```yaml
|
||||
dns:
|
||||
provider: none
|
||||
```
|
||||
## Configuring kube-dns
|
||||
|
||||
### Upstream nameservers
|
||||
@@ -55,16 +100,13 @@ dns:
|
||||
- 8.8.4.4
|
||||
```
|
||||
|
||||
## CoreDNS (Experimental)
|
||||
# Disabling deployment of a DNS provider
|
||||
|
||||
_Available as of v0.2.0_
|
||||
|
||||
If you want to use CoreDNS, you can set the `provider` directive to `coredns`. Both the `node_selector` and `upstreamnameservers` directive is also supported for CoreDNS.
|
||||
You can disable the default DNS provider by specifying `none` to the dns `provider` directive in the cluster configuration. Be aware that this will prevent your pods from doing name resolution in your cluster.
|
||||
|
||||
```yaml
|
||||
dns:
|
||||
provider: coredns
|
||||
upstreamnameservers:
|
||||
- 1.1.1.1
|
||||
- 8.8.4.4
|
||||
provider: none
|
||||
```
|
||||
|
||||
@@ -185,6 +185,10 @@ addon_job_timeout: 30
|
||||
network:
|
||||
plugin: canal
|
||||
|
||||
# Specify DNS provider (coredns or kube-dns)
|
||||
dns:
|
||||
provider: coredns
|
||||
|
||||
# Currently only nginx ingress provider is supported.
|
||||
# To disable ingress controller, set `provider: none`
|
||||
|
||||
|
||||
Reference in New Issue
Block a user