Как использовать Cloudflare 1.1.1.1 с DNS Kubernetes
Я хотел бы использовать серверы имен Cloudflare 1.1.1.1 и 1.0.0.1 в Kubernetes, наряду с DNS поверх TLS. Похоже, я могу сделать это с помощью core-dns. Мне нужно как-то настроить следующее:
- 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"]
2 ответа
Вы можете настроить свои core-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.
kubectl get pod -n kube-system | grep core-dns | cut -d " " -f1 - | xargs -n1 -P 10 kubectl delete pod -n kube-system
Azure AKS Only Ответ
Это скопировано прямо из выпусков Azure AKS.
В kube-dns была недокументированная функция, в которой поддерживались две карты конфигурации, позволяющие пользователям выполнять переопределения DNS / заглушки доменов, а также другие настройки. При преобразовании в CoreDNS эта функциональность была утрачена - CoreDNS поддерживает только одну карту конфигурации. С исправлением выше, AKS теперь имеет обходной путь, чтобы соответствовать тому же уровню настройки. Вот эквивалентный ConfigMap для 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