ELMA365 On-Premises > ELMA365 On-Premises Enterprise > Установка дополнений для приложения ELMA365 / Установка NodeLocal DNS Cache

Установка NodeLocal DNS Cache

NodeLocal DNS Cache позволяет снизить нагрузку по DNS-запросам в кластере Kubernetes. NodeLocal DNS позволяет повысить стабильность преобразования DNS-имён, что в свою очередь позволит избежать правил DNAT, connection tracking и ограничений по количеству соединений.

начало внимание 

Для Kubernetes-кластеров, развёрнутых на платформе Deckhouse, не требуется установка NodeLocal DNS. В этом случае используйте встроенный модуль.

конец внимание 

Установка состоит из четырёх этапов:

  1. Получение IP-адреса сервиса kube-dns.
  2. Загрузка Helm-чарта и конфигурационного файла.
  3. Заполнение конфигурационного файла.
  4. Установка чарта Node Local DNS с помощью Helm в Kubernetes-кластер.

Шаг 1: Получение IP-адреса сервиса kube-dns

Сервис kube-dns как правило расположен в namespace kube-system кластера Kubernetes.

Определите IP-адрес сервиса kube-dns, выполнив команду:

kubectl get svc kube-dns -n kube-system -o jsonpath={.spec.clusterIP}

Результатом выполнения команды должен быть IP-адрес, который будет использован на шаге 3. В рамках статьи результатом выполнения команды стал IP-адрес 172.20.0.10.

Получение IP-адреса сервиса kube-dns в Deckhouse:

Шаг 2: Загрузка Helm-чарта и конфигурационного файла

Для установки через интернет получите конфигурационный файл values-nodelocal-dns.yaml, выполнив команду:

helm repo add elma365 https://charts.elma365.tech
helm repo update
helm show values elma365/node-local-dns > values-nodelocal-dns.yaml

Получение конфигурационного файла для установки в закрытом контуре без доступа в интернет

Шаг 3: Заполнение конфигурационного файла

Заполните конфигурационный файл values-nodelocal-dns.yaml для установки NodeLocal DNS Cache.

## Настройки NodeLocal DNS Cache
node-local-dns:
  config:
    ## домен кластера
    dnsDomain: "cluster.local"
    ## IP-адрес сервиса kube-dns
    dnsServer: "172.20.0.10"
    ## IP-адрес для NodeLocal DNS Cache.
    localDns: "169.254.20.25"

где:

  • node-local-dns.config.dnsDomain — домен кластера Kubernetes;
  • node-local-dns.config.dnsServer — IP-адрес сервиса kube-dns, полученный на шаге 1;
  • node-local-dns.config.localDns — локальный IP-адрес для NodeLocal DNS Cache.

Заполнение параметров подключения к приватному registry для установки в закрытом контуре без доступа в интернет

Шаг 4: Установка чарта Node Local DNS с помощью Helm в Kubernetes-кластер

Выполните установку чарта Node Local DNS в namespace kube-system.

Для установки через интернет:

helm upgrade --install nodelocaldns elma365/node-local-dns -f values-nodelocal-dns.yaml -n kube-system

Для офлайн-установки без доступа в интернет:

helm upgrade --install nodelocaldns ./node-local-dns -f values-nodelocal-dns.yaml -n kube-system

Удалить чарт Node Local DNS с помощью Helm в Kubernetes-кластере

Чтобы удалить чарт Node Local DNS в namespace kube-system, выполните команду:

helm uninstall nodelocaldns -n kube-system