Cert-manager добавляет в кластер Kubernetes сертификаты (Certificate) и эмитенты сертификатов (ClusterIssuer) как типы ресурсов и упрощает процесс получения, обновления и использования этих сертификатов.
С плагином Yandex CloudDNS ACME webhook для Cert-manager вы можете пройти проверку DNS-01 с помощью Yandex Cloud DNS.
-
Установите kubectl и настройте его на работу с вашим кластером.
-
Создайте сервисный аккаунт, необходимый для работы c Cloud DNS, и назначьте ему роль
dns.editor
на каталог, где расположена публичная зона DNS. -
Создайте авторизованный ключ и сохраните его в файл
key.json
:yc iam key create \ --service-account-name <имя сервисного аккаунта> \ --format json \ --output key.json
-
Задайте настройки приложения:
- Пространство имен — выберите пространство имен или создайте новое.
- Название приложения — укажите название приложения.
- Ключ сервисной учетной записи — вставьте содержимое файла
key.json
или создайте новый ключ. - Идентификатор каталога — укажите идентификатор каталога, где находится зона Cloud DNS, чтобы при проверке DNS-01 подтвердить, что владеете доменом.
- Адрес электронной почты для получения уведомлений от Let’s Encrypt — укажите адрес электронной почты, чтобы получать уведомления от Let’s Encrypt.
- Адрес сервера Let’s Encrypt — выберите из списка адрес сервера Let’s Encrypt:
https://acme-v02.api.letsencrypt.org/directory
— основной URL;https://acme-staging-v02.api.letsencrypt.org/directory
— тестовый URL.
-
Нажмите кнопку Установить.
-
Дождитесь перехода приложения в статус
Deployed
. -
Создайте файл
certificate.yaml
, содержащий запрос на тестовый сертификат:apiVersion: cert-manager.io/v1 kind: Certificate metadata: name: domain-name namespace: <пространство имен> spec: secretName: domain-name-secret issuerRef: # ClusterIssuer, созданный вместе с Yandex CloudDNS ACME webhook name: yc-clusterissuer kind: ClusterIssuer dnsNames: # Домен должен входить в вашу публичную зону Cloud DNS - <имя домена>
-
Установите сертификат в кластер:
kubectl apply -f certificate.yaml
-
Проверьте готовность сертификата:
kubectl get certificate
NAME READY SECRET AGE domain-name True domain-name-secret 45m
Служба технической поддержки Yandex Cloud отвечает на запросы 24 часа в сутки, 7 дней в неделю. Доступные виды запросов и срок их обработки зависят от тарифного плана. Подключить платную поддержку можно в консоли управления. Подробнее о порядке оказания технической поддержки.
Helm-чарт | Версия | Pull-команда | Документация |
---|---|---|---|
yandex-cloud/cert-manager-webhook-yandex/cert-manager-webhook-yandex | 1.0.8-1 | Открыть |
Docker-образ | Версия | Pull-команда |
---|---|---|
yandex-cloud/cert-manager-webhook-yandex/cert-manager-webhook-yandex1711961635594770953820309645949480358266192316354 | 1.0.2 |