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. Установка ExternalDNS c плагином для Cloud DNS

Установка ExternalDNS c плагином для Yandex Cloud DNS

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

ExternalDNS позволяет автоматически создавать DNS-записи в Yandex Cloud DNS. ExternalDNS делает ресурсы Kubernetes доступными для обнаружения через общедоступные DNS-серверы.

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

  1. Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.

    По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.

  2. Создайте сервисный аккаунт, необходимый для работы c Cloud DNS.

  3. Назначьте ему роль dns.editor.

  4. Создайте авторизованный ключ для сервисного аккаунта в формате JSON и сохраните его в файл key.json:

    yc iam key create \
      --service-account-name <имя_сервисного_аккаунта> \
      --format json \
      --output key.json
    
  5. Убедитесь, что группы безопасности для кластера Managed Service for Kubernetes и его групп узлов настроены корректно. Если отсутствует какое-либо из правил — добавьте его.

    Важно

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

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

  1. Перейдите на страницу каталога и выберите сервис Managed Service for Kubernetes.
  2. Нажмите на имя нужного кластера Managed Service for Kubernetes и выберите вкладку Marketplace.
  3. В разделе Доступные для установки приложения выберите ExternalDNS c плагином для Yandex Cloud DNS и нажмите кнопку Перейти к установке.
  4. Задайте настройки приложения:
    • Пространство имен — создайте новое пространство имен (например, externaldns-space). Если вы оставите пространство имен по умолчанию, ExternalDNS может работать некорректно.
    • Название приложения — укажите название приложения.
    • Ключ сервисной учетной записи — вставьте содержимое файла key.json или создайте новый авторизованный ключ для сервисного аккаунта. Сервисный аккаунт должен иметь роль dns.editor.
    • ID каталога — укажите каталог, в котором находится зона Cloud DNS.
  5. Нажмите кнопку Установить.
  6. Дождитесь перехода приложения в статус Deployed.

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

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

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

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

    helm pull oci://cr.yandex/yc-marketplace/yandex-cloud/externaldns/chart/externaldns \
      --version 0.5.1-b \
      --untar && \
    helm install \
      --namespace <пространство_имен> \
      --create-namespace \
      --set config.folder_id=<идентификатор_каталога_с_DNS-зоной> \
      --set-file config.auth.json=<путь_к_файлу_с_авторизованным_ключом_сервисного_аккаунта> \
      externaldns ./externaldns/
    

    Если вы укажете в параметре namespace пространство имен по умолчанию, ExternalDNS может работать некорректно. Рекомендуем указывать значение, отличное от всех существующих пространств имен (например, externaldns-space).

    Примечание

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

Особенности работыОсобенности работы

Чтобы автоматически создавать DNS-записи с помощью приложения ExternalDNS c плагином для Yandex Cloud DNS:

  • С Ingress-контроллерами не нужны дополнительные настройки.

  • Для сервисов типа LoadBalancer необходимо использовать аннотацию "external-dns.alpha.kubernetes.io/hostname=<ваш_домен>".

    Чтобы установить значение TTL для DNS-записи, используйте аннотацию "external-dns.alpha.kubernetes.io/ttl=<значение_TTL_в_секундах>".

Примеры использованияПримеры использования

  • Настройка логирования для L7-балансировщика Yandex Application Load Balancer с помощью Ingress-контроллера.
  • Развертывание и нагрузочное тестирование gRPC-сервиса с масштабированием.

См. такжеСм. также

  • Документация ExternalDNS.

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

Предыдущая
Установка External Secrets Operator
Следующая
Установка Falco
Проект Яндекса
© 2025 ООО «Яндекс.Облако»