Add external zones in nodelocaldns configuration (#5591)
Allows to configure additionnal zone for domains not resolved by `upstream_dns_servers`.
This commit is contained in:
parent
980a4fa401
commit
d69db3469e
3 changed files with 46 additions and 0 deletions
|
@ -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 {
|
||||
|
|
Loading…
Reference in a new issue