我想在Kubernetes中使用Cloudflare的1.1.1.1 and 1.0.0.1名称服务器,以及DNS over TLS。它可以looks like使用core-dns来完成。我需要以某种方式设置以下内容:
1.1.1.1
和1.0.0.1
2606:4700:4700::1111
和2606:4700:4700::1001
tls.cloudflare-dns.com
我的ConfigMap
应该是什么样?我已经从下面开始了:
apiVersion: v1
kind: ConfigMap
data:
upstreamNameservers: |
["1.1.1.1", "1.0.0.1"]
答案 0 :(得分:3)
您可以配置核心DNS kubectl -n kube-system edit configmap coredns
并添加到corefile的末尾:
. {
forward . tls://1.1.1.1 tls://1.0.0.1 {
tls_servername cloudflare-dns.com
health_check 5s
}
cache 30
}
然后保存新配置并重新启动core-dns pod。
kubectl get pod -n kube-system | grep core-dns | cut -d " " -f1 - | xargs -n1 -P 10 kubectl delete pod -n kube-system
答案 1 :(得分:1)
这是直接从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