Настройка DNS

Для управления DNS в Managed Service for Kubernetes используется СoreDNS.

Дополнительные DNS-серверы в кластере Kubernetes добавляются в файле ConfigMap ресурса CoreDNS.

Подготовка к работе

  1. Создайте кластер
  2. Установите Kubernetes CLI (kubectl).
  3. Подключитесь к кластеру с помощью файла Kubeconfig.

Добавление DNS-сервера

Чтобы добавить адрес хоста в ConfigMap ресурса CoreDNS:

  1. Выполните команду:

    kubectl edit cm coredns -n kube-system
  2. В открывшийся файл ConfigMap ресурса CoreDNS добавьте forward с указанием необходимых IP-адресов и домена:

    apiVersion: v1
    kind: ConfigMap
    metadata:
      name: coredns
      namespace: kube-system
    data:
      Corefile: |
        .:53 {
            errors
            health {
                lameduck 5s
            }
            ready
            kubernetes cluster.local in-addr.arpa ip6.arpa {
                pods insecure
                fallthrough in-addr.arpa ip6.arpa
                ttl 30
            }
            prometheus :9153
            forward mycompany.infra 8.8.8.8 77.88.8.8 {
                max_concurrent 1000
            }
            cache 30
            loop
            reload
            loadbalance
      }

    где: 

    • mycompany.infra — домен;

    • 8.8.8.8 77.88.8.8 — IP-адреса ваших DNS-серверов.
  3. Сохраните изменения в файле ConfigMap ресурса CoreDNS.

  4. Перезапустите поды CoreDNS, выполнив команду:

    kubectl rollout restart deploy coredns -n kube-system
  5. Проверьте перезапуск подов, выполнив команду:

    kubectl get pods -n kube-system | grep coredns

    При успешном перезапуске подов ответ команды будет содержать список подов СoreDNS в статусе Running:

    coredns-5955vd879d-gbzjh 1/1 Running 0 35s
    coredns-5955cd879d-ew46i 1/1 Running 0 35s

Мы ответили на ваш вопрос?