--- apiVersion: v1 kind: ConfigMap metadata: name: coredns namespace: kube-system labels: addonmanager.kubernetes.io/mode: EnsureExists data: Corefile: | {% if coredns_external_zones is defined and coredns_external_zones|length > 0 %} {% for block in coredns_external_zones %} {{ block['zones'] | join(' ') }} { log errors {% if block['rewrite'] is defined and block['rewrite']|length > 0 %} {% for rewrite_match in block['rewrite'] %} rewrite {{ rewrite_match }} {% endfor %} {% endif %} forward . {{ block['nameservers'] | join(' ') }} loadbalance cache {{ block['cache'] | default(5) }} reload {% if dns_etchosts | default(None) %} hosts /etc/coredns/hosts { fallthrough } {% endif %} } {% endfor %} {% endif %} .:53 { errors health { lameduck 5s } ready kubernetes {{ dns_domain }} {% if enable_coredns_reverse_dns_lookups %}in-addr.arpa ip6.arpa {% endif %}{ pods insecure {% if enable_coredns_k8s_endpoint_pod_names %} endpoint_pod_names {% endif %} {% if enable_coredns_reverse_dns_lookups %} fallthrough in-addr.arpa ip6.arpa {% endif %} } prometheus :9153 forward . {{ upstream_dns_servers|join(' ') if upstream_dns_servers is defined and upstream_dns_servers|length > 0 else '/etc/resolv.conf' }} { prefer_udp max_concurrent 1000 {% if dns_upstream_forward_extra_opts is defined %} {% for optname, optvalue in dns_upstream_forward_extra_opts.items() %} {{ optname }} {{ optvalue }} {% endfor %} {% endif %} } {% if enable_coredns_k8s_external %} k8s_external {{ coredns_k8s_external_zone }} {% endif %} {{ coredns_default_zone_cache_block | indent(width=8, first=False) }} loop reload loadbalance {% if dns_etchosts | default(None) %} hosts /etc/coredns/hosts { fallthrough } {% endif %} } {% if dns_etchosts | default(None) %} hosts: | {{ dns_etchosts | indent(width=4, first=False) }} {% endif %}