如何将Cloudflare 1.1.1.1与Kubernetes DNS一起使用
我想在Kubernetes中使用Cloudflare的名称服务器。我可以用它来做。我需要以某种方式设置以下内容:如何将Cloudflare 1.1.1.1与Kubernetes DNS一起使用,kubernetes,dns,cloudflare,nameservers,coredns,Kubernetes,Dns,Cloudflare,Nameservers,Coredns,我想在Kubernetes中使用Cloudflare的名称服务器。我可以用它来做。我需要以某种方式设置以下内容: IPv4:1.1.1.1和1.0.0.1 IPv6:2606:4700:4700::1111和2606:4700:4700::1001 TLS服务器名称:TLS.cloudflare dns.com 我的ConfigMap应该是什么样子?我从下面开始: apiVersion: v1 kind: ConfigMap data: upstreamNameservers: |
- IPv4:
和1.1.1.1
1.0.0.1
- IPv6:
和2606:4700:4700::1111
2606:4700:4700::1001
- TLS服务器名称:
TLS.cloudflare dns.com
ConfigMap
应该是什么样子?我从下面开始:
apiVersion: v1
kind: ConfigMap
data:
upstreamNameservers: |
["1.1.1.1", "1.0.0.1"]
您可以配置核心dns
kubectl-n kube系统编辑configmap coredns
并添加到corefile的末尾:
. {
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
Azure AKS唯一的答案
这是直接抄袭的
对于kube dns,有一个未记录的功能,它支持两个配置映射,允许用户执行dns覆盖/存根域和其他自定义。转换为CoreDNS后,此功能丢失-CoreDNS仅支持单个配置映射。有了上面的修补程序,AKS现在有了一个解决方案来满足相同级别的定制。以下是CoreDNS的等效配置映射:
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
有没有一种方法可以使用更加友好的
ConfigMap
来实现这一点?另外,核心DNS是否支持IPv6?使用kubectl-n kube system edit configmap coredns
you ipdate configmap,关于IPv6我不这么认为,因为Kubernetes不完全支持IPv6。是否有办法修补configmap
以仅提供您想要更改的配置片段?如果可能的话,我想通过CI/CD来实现这一点,以使事情可重复,而kubectl edit
对这一点来说并不好。这是一个kube系统
名称空间。因此,如果您想添加一些CI/CD更新此configmap,您必须在存储基础结构代码的位置对其进行更改,例如KOP将其存储在AWS上的s3存储桶中。如果不管理kube系统
名称空间,只需更新当前设置即可。