Yandex Cloud
Поиск
Связаться с намиПодключиться
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
    • Популярные
    • Инфраструктура и сеть
    • Платформа данных
    • Контейнеры
    • Инструменты разработчика
    • Бессерверные вычисления
    • Безопасность
    • Мониторинг и управление ресурсами
    • Машинное обучение
    • Бизнес-инструменты
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Облако для интеграторов
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Контент-программа
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Истории успеха
    • Тарифы Yandex Cloud
    • Промоакции и free tier
    • Правила тарификации
  • Документация
  • Блог
Проект Яндекса
© 2025 ООО «Яндекс.Облако»
Практические руководства
    • Все руководства
    • Настройка подключения к Managed Service for PostgreSQL из контейнера Serverless Containers
    • Создать ВМ с Container Optimized Image
    • Создать ВМ с Container Optimized Image и дополнительным томом для Docker-контейнера
    • Создать группу ВМ с Container Optimized Image и несколькими Docker-контейнерами
    • Создать группу ВМ с Container Optimized Image
    • Создать ВМ с Container Optimized Image и несколькими Docker-контейнерами
    • Изменить ВМ с Container Optimized Image
    • Настройка вывода информации из Docker-контейнера в серийный порт
      • Создание нового Kubernetes-проекта
      • Создание кластера Kubernetes без доступа в интернет
      • Запуск рабочих нагрузок с GPU
      • Использование групп узлов c GPU без предустановленных драйверов
      • Установка Time-Slicing GPUs
      • Миграция ресурсов в другую зону доступности
      • Шифрование секретов
        • Интеграция с корпоративной зоной DNS
        • Автоматическое масштабирование DNS по размеру кластера
        • Настройка NodeLocal DNS Cache
        • Проверка DNS Challenge для сертификатов Let's Encrypt®

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

  • Необходимые платные ресурсы
  • Перед началом работы
  • Создайте сертификат
  • Проверьте результат
  • Удалите созданные ресурсы
  1. Контейнерная инфраструктура
  2. Managed Service for Kubernetes
  3. Работа с DNS
  4. Проверка DNS Challenge для сертификатов Let's Encrypt®

Проверка DNS Challenge для сертификатов Let's Encrypt® в Yandex Managed Service for Kubernetes

Статья создана
Yandex Cloud
Обновлена 3 апреля 2025 г.
  • Необходимые платные ресурсы
  • Перед началом работы
  • Создайте сертификат
  • Проверьте результат
  • Удалите созданные ресурсы

Чтобы добавить возможность пройти проверку DNS Challenge при выписывании сертификатов Let's Encrypt®:

  1. Создайте сертификат.
  2. Проверьте результат.

Если созданные ресурсы вам больше не нужны, удалите их.

Необходимые платные ресурсыНеобходимые платные ресурсы

В стоимость поддержки описываемого решения входят:

  • Плата за кластер Managed Service for Kubernetes: использование мастера и исходящий трафик (см. тарифы Managed Service for Kubernetes).
  • Плата за узлы кластера (ВМ): использование вычислительных ресурсов, операционной системы и хранилища (см. тарифы Compute Cloud).
  • Плата за публичный IP-адрес, если он назначен узлам кластера (см. тарифы Virtual Private Cloud).
  • Плата за DNS-зону и DNS-запросы (см. тарифы Cloud DNS).

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

  1. Создайте сервисный аккаунт с ролью dns.editor на каталог, в котором будет находиться доменная зона.

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

    yc iam key create \
      --service-account-name <имя_сервисного_аккаунта> \
      --format json \
      --output key.json
    
  3. Зарегистрируйте публичную доменную зону и делегируйте домен. Сертификат Let's Encrypt® будет выписан для домена в этой зоне с прохождением проверки DNS-01.

  4. Создайте группы безопасности для кластера Managed Service for Kubernetes и входящих в него групп узлов.

    Важно

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

  5. Создайте кластер Managed Service for Kubernetes и группу узлов любой подходящей конфигурации. При создании укажите группы безопасности, подготовленные ранее.

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

Создайте сертификатСоздайте сертификат

  1. Установите приложение cert-manager c плагином Yandex Cloud DNS ACME webhook по инструкции.

    При установке укажите сервисный аккаунт и авторизованный ключ, которые были созданы перед началом работы.

  2. Создайте файл certificate.yaml:

    apiVersion: cert-manager.io/v1
    kind: Certificate
    metadata:
      name: example-com
      namespace: default
    spec:
      secretName: example-com-secret
      issuerRef:
        # The issuer created previously
        name: yc-clusterissuer
        kind: ClusterIssuer
      dnsNames:
        - <доменное_имя>
    
  3. Передайте сертификат в кластер Managed Service for Kubernetes:

    kubectl apply -f certificate.yaml
    

Проверьте результатПроверьте результат

  1. Проверьте готовность сертификата:

    kubectl get certificate example-com
    

    Результат:

    NAME         READY  SECRET              AGE
    example-com  True   example-com-secret  24h
    

    Статус True в колонке READY означает, что сертификат был выпущен успешно.

  2. (Опционально) получите подробную информацию о сертификате:

    kubectl -n default describe certificate example-com
    

    В выводе команды будут содержаться подобные события (events):

    Events:
      Type    Reason     Age   From                                       Message
      ----    ------     ----  ----                                       -------
      Normal  Issuing    ...   cert-manager-certificates-trigger          Issuing certificate as Secret does not exist
      Normal  Generated  ...   cert-manager-certificates-key-manager      Stored new private key in temporary Secret resource...
    

    Сертификаты используются в связке с соответствующими им секретами Kubernetes, которые хранят пары ключей и служебную информацию. В случае отсутствия секрета сертификат перевыпускается автоматически с созданием нового секрета, о чем и сообщается в событиях. Подробнее о причинах, которые могут привести к перевыпуску сертификата, см. в документации cert-manager.

    Поскольку сертификат выпускается впервые, то соответствующий ему секрет отсутствует. Наличие событий, сообщающих об этом, не является ошибкой.

Удалите созданные ресурсыУдалите созданные ресурсы

Некоторые ресурсы платные. Чтобы за них не списывалась плата, удалите ресурсы, которые вы больше не будете использовать:

  1. Удалите кластер Managed Service for Kubernetes.
  2. Удалите публичную доменную зону.
  3. Удалите сервисный аккаунт.

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

Предыдущая
Настройка NodeLocal DNS Cache
Следующая
Работа со снапшотами Compute Cloud
Проект Яндекса
© 2025 ООО «Яндекс.Облако»