Yandex Cloud
Поиск
Связаться с намиПодключиться
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
    • Популярные
    • Инфраструктура и сеть
    • Платформа данных
    • Контейнеры
    • Инструменты разработчика
    • Бессерверные вычисления
    • Безопасность
    • Мониторинг и управление ресурсами
    • Машинное обучение
    • Бизнес-инструменты
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Облако для интеграторов
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Контент-программа
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Истории успеха
    • Тарифы Yandex Cloud
    • Промоакции и free tier
    • Правила тарификации
  • Документация
  • Блог
Проект Яндекса
© 2025 ООО «Яндекс.Облако»
Yandex Managed Service for Kubernetes
  • Сопоставление с другими сервисами Yandex Cloud
  • Начало работы
    • Все инструкции
    • Подключение к узлу по SSH
    • Подключение к узлу через OS Login
    • Обновление Kubernetes
    • Настройка автомасштабирования
      • Основы работы с Cloud Marketplace
      • Установка Argo CD
      • Установка Chaos Mesh
      • Установка cert-manager c плагином Cloud DNS ACME webhook
      • Установка Container Storage Interface для S3
      • Установка Crossplane
      • Установка External Secrets Operator
      • Установка ExternalDNS c плагином для Cloud DNS
      • Установка Falco
      • Установка Filebeat OSS
      • Установка Fluent Bit
      • Установка Gatekeeper
      • Установка Gateway API
      • Установка GitLab Agent
      • Установка GitLab Runner
      • Установка HashiCorp Vault
      • Установка Ingress NGINX
      • Установка Ingress-контроллера Application Load Balancer
      • Обновление Ingress-контроллера Application Load Balancer
      • Установка Istio
      • Установка Jaeger
      • Установка Kruise
      • Установка Kyverno & Kyverno Policies
      • Установка Loki
      • Установка Metrics Provider
      • Установка NodeLocal DNS
      • Установка Policy Reporter
      • Установка Prometheus Operator
      • Установка Thumbor
      • Установка Velero
    • Подключение внешних узлов к кластеру
  • Управление доступом
  • Правила тарификации
  • Справочник Terraform
  • Метрики Monitoring
  • Аудитные логи Audit Trails
  • История изменений
  • Обучающие курсы

В этой статье:

  • Перед началом работы
  • Установка с помощью Yandex Cloud Marketplace
  • Установка с помощью Helm-чарта
  1. Пошаговые инструкции
  2. Установка приложений из Cloud Marketplace
  3. Установка NodeLocal DNS

Установка NodeLocal DNS

Статья создана
Yandex Cloud
Обновлена 6 марта 2025 г.
  • Перед началом работы
  • Установка с помощью Yandex Cloud Marketplace
  • Установка с помощью Helm-чарта

NodeLocal DNS снижает нагрузку по DNS-запросам за счет запуска кеша на каждом узле в кластере Managed Service for Kubernetes. Это позволяет повысить производительность и отказоустойчивость кластера Managed Service for Kubernetes.

Перед началом работыПеред началом работы

Убедитесь, что группы безопасности для кластера Managed Service for Kubernetes и его групп узлов настроены корректно. Если отсутствует какое-либо из правил — добавьте его.

Важно

От настройки групп безопасности зависит работоспособность и доступность кластера, а также запущенных в нем сервисов и приложений.

Установка с помощью Yandex Cloud MarketplaceУстановка с помощью Yandex Cloud Marketplace

  1. Перейдите на страницу каталога и выберите сервис Managed Service for Kubernetes.
  2. Нажмите на имя нужного кластера Managed Service for Kubernetes и выберите вкладку Marketplace.
  3. В разделе Доступные для установки приложения выберите NodeLocal DNS и нажмите кнопку Перейти к установке.
  4. Задайте настройки приложения:
    • Пространство имен — выберите пространство имен kube-system.

      Важно

      Приложение работает корректно только с пространством имен kube-system.

    • Название приложения — укажите название, под которым приложение будет развернуто в кластере Managed Service for Kubernetes.

    • Внутренний IP-адрес службы kube-dns — адрес для обращения к NodeLocal DNS Cache. Запросы, отправленные из подов приложений по адресу в поле, маршрутизируются на local DNS с помощью правил iptables.

      Поле содержит адрес ClusterIP сервиса kube-dns в пространстве имен kube-system. Значение поля можно получить с помощью команды:

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

      Так как Yandex Cloud добавляет сервис kube-dns при создании кластера, IP-адрес сервиса предопределен. Поэтому его нельзя изменить в поле Внутренний IP-адрес службы kube-dns.

    • Работа с Cilium — выберите эту опцию, если кластер использует контроллер сетевых политик Cilium.

  5. Нажмите кнопку Установить.
  6. Дождитесь перехода приложения в статус Deployed.

После установки NodeLocal DNS использует следующие значения:

  • Зона кластера Managed Service for Kubernetes — cluster.local.
  • Адрес кеша NodeLocal DNS — 169.254.20.10.
  • Порт приложения для внешних запросов — 53.
  • Порт для сбора метрик Prometheus — 9253.

Установка с помощью Helm-чартаУстановка с помощью Helm-чарта

  1. Установите менеджер пакетов Helm версии не ниже 3.8.0.

  2. Установите kubectl и настройте его на работу с созданным кластером.

  3. Получите адрес для обращения к NodeLocal DNS Cache. Адрес понадобится для установки Helm-чарта:

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

    Команда отображает адрес ClusterIP сервиса kube-dns в пространстве имен kube-system. Сервис kube-dns устанавливается автоматически во время создания кластера, поэтому IP-адрес сервиса предопределен.

    Запросы, отправленные из подов приложений по полученному адресу, маршрутизируются на local DNS с помощью правил iptables.

  4. Для установки Helm-чарта с NodeLocal DNS выполните команду:

    helm pull oci://cr.yandex/yc-marketplace/yandex-cloud/node-local-dns \
      --version 1.5.1 \
      --untar && \
    helm install \
      --set config.cilium=false \
      --set config.clusterIp="<IP-адрес_kube-dns>" \
      --namespace kube-system \
      node-local-dns ./node-local-dns/
    

    Важно

    Приложение работает корректно только с пространством имен kube-system.

    Примечание

    Если вы используете версию Helm ниже 3.8.0, добавьте в начало команды строку export HELM_EXPERIMENTAL_OCI=1 && \, чтобы включить поддержку Open Container Initiative (OCI) в клиенте Helm.

Подробнее о настройке локального кеширования DNS см. в разделе Настройка NodeLocal DNS Cache.

Была ли статья полезна?

Предыдущая
Установка Metrics Provider
Следующая
Установка Policy Reporter
Проект Яндекса
© 2025 ООО «Яндекс.Облако»