Как использовать 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
Другие вопросы по тегам