如何使用CloudFlare的1.1.1.1与Kubernetes DNS

问题描述 投票:1回答:2

我想使用CloudFlare的1.1.1.1 and 1.0.0.1域名服务器在Kubernetes,沿着DNS over TLS。它looks like我可以用core-dns做到这一点。我需要安装某种方式如下:

  • IPv4的:1.1.1.11.0.0.1
  • IPv6的:2606:4700:4700::11112606:4700:4700::1001
  • TLS服务器名称:tls.cloudflare-dns.com

我应该我ConfigMap是什么样子?我已经开始它下面:

apiVersion: v1
kind: ConfigMap
data:
  upstreamNameservers: |
    ["1.1.1.1", "1.0.0.1"]
kubernetes dns cloudflare nameservers coredns
2个回答
4
投票

你可以配置你的核心的DNS kubectl -n kube-system edit configmap coredns并添加结束core文件中:

. {
    forward . tls://1.1.1.1 tls://1.0.0.1 {
       tls_servername cloudflare-dns.com
       health_check 5s
    }
    cache 30
}

比保存新的配置并重新启动核心DNS吊舱。

kubectl get pod -n kube-system | grep core-dns | cut -d " " -f1 - | xargs -n1 -P 10 kubectl delete pod -n kube-system


1
投票

Azure AKS Only Answer

这是直接从Azure AKS releases复制。

随着KUBE-DNS,有一个未公开的特性它支持的两种配置的地图允许用户执行DNS覆写/存根域,和其他自定义。随着转换CoreDNS中,此功能丧失 - CoreDNS仅支持单个配置图。通过上面的修补程序,AKS现在有一个解决办法,以满足定制的同一水平。下面是CoreDNS相当于ConfigMap:

apiVersion: v1
kind: ConfigMap
metadata:
  name: coredns-custom
  namespace: kube-system
data:
  azurestack.server: |
    azurestack.local:53 {
        forward . tls://1.1.1.1 tls://1.0.0.1 {
          tls_servername cloudflare-dns.com
          health_check 5s
        }
        cache 30
    }

创建配置地图后,你将需要删除CoreDNS部署强制加载新的配置。

kubectl -n kube-system delete po -l k8s-app=kube-dns
© www.soinside.com 2019 - 2024. All rights reserved.