Browse Source
Add external zones in nodelocaldns configuration (#5591)
Allows to configure additionnal zone for domains not resolved by `upstream_dns_servers`.
pull/5399/head
bozzo
4 years ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with
46 additions and
0 deletions
-
docs/dns-stack.md
-
inventory/sample/group_vars/k8s-cluster/k8s-cluster.yml
-
roles/kubernetes-apps/ansible/templates/nodelocaldns-config.yml.j2
|
|
@ -133,6 +133,25 @@ More information on the rationale behind this implementation can be found [here] |
|
|
|
|
|
|
|
**As per the 2.10 release, Nodelocal DNS cache is enabled by default.** |
|
|
|
|
|
|
|
### External zones |
|
|
|
|
|
|
|
It's possible to extent the `nodelocaldns`' configuration by adding an array of external zones. For example: |
|
|
|
|
|
|
|
```yaml |
|
|
|
nodelocaldns_external_zones: |
|
|
|
- zones: |
|
|
|
- example.com |
|
|
|
- example.io:1053 |
|
|
|
nameservers: |
|
|
|
- 1.1.1.1 |
|
|
|
- 2.2.2.2 |
|
|
|
cache: 5 |
|
|
|
- zones: |
|
|
|
- https://mycompany.local:4453 |
|
|
|
nameservers: |
|
|
|
- 192.168.0.53 |
|
|
|
``` |
|
|
|
|
|
|
|
## Limitations |
|
|
|
|
|
|
|
* Kubespray has yet ways to configure Kubedns addon to forward requests SkyDns can |
|
|
|
|
|
@ -139,6 +139,19 @@ dns_mode: coredns |
|
|
|
enable_nodelocaldns: true |
|
|
|
nodelocaldns_ip: 169.254.25.10 |
|
|
|
nodelocaldns_health_port: 9254 |
|
|
|
# nodelocaldns_external_zones: |
|
|
|
# - zones: |
|
|
|
# - example.com |
|
|
|
# - example.io:1053 |
|
|
|
# nameservers: |
|
|
|
# - 1.1.1.1 |
|
|
|
# - 2.2.2.2 |
|
|
|
# cache: 5 |
|
|
|
# - zones: |
|
|
|
# - https://mycompany.local:4453 |
|
|
|
# nameservers: |
|
|
|
# - 192.168.0.53 |
|
|
|
# cache: 0 |
|
|
|
# Enable k8s_external plugin for CoreDNS |
|
|
|
enable_coredns_k8s_external: false |
|
|
|
coredns_k8s_external_zone: k8s_external.local |
|
|
|
|
|
@ -8,6 +8,20 @@ metadata: |
|
|
|
|
|
|
|
data: |
|
|
|
Corefile: | |
|
|
|
{% if nodelocaldns_external_zones is defined and nodelocaldns_external_zones|length > 0 %} |
|
|
|
{% for block in nodelocaldns_external_zones %} |
|
|
|
{{ block['zones'] | join(' ') }} { |
|
|
|
errors |
|
|
|
cache {{ block['cache'] | default(30) }} |
|
|
|
reload |
|
|
|
loop |
|
|
|
bind {{ nodelocaldns_ip }} |
|
|
|
forward . {{ block['nameservers'] | join(' ') }} |
|
|
|
prometheus :9253 |
|
|
|
log |
|
|
|
} |
|
|
|
{% endfor %} |
|
|
|
{% endif %} |
|
|
|
{{ dns_domain }}:53 { |
|
|
|
errors |
|
|
|
cache { |
|
|
|