Я использую сертификат-менеджер
с этим пользовательским подстановочным сертификатом
apiVersion: cert-manager.io/v1
вид: ClusterIssuer
метаданные:
имя: letsencrypt-myapp-эмитент
спецификация:
акме:
сервер: https://acme-v02.api.letsencrypt.org/directory
электронная почта: [email protected] # ИЗМЕНИТЬ-МЕНЯ
privateKeySecretRef:
имя: wildcard-myapp-com
решатели:
# Конфигурации провайдера ACME DNS-01
- днс01:
облачный DNS:
serviceAccountSecretRef:
имя: clouddns-сервис-аккаунт
ключ: dns-service-account.json
проект: мое приложение
селектор:
DNSИмена:
- '*.myapp.com'
- myapp.com
---
apiVersion: cert-manager.io/v1
вид: сертификат
метаданные:
имя: myapp-com-tls
пространство имен: по умолчанию
спецификация:
secretName: myapp-com-tls
эмитентСсылка:
имя: letsencrypt-myapp-эмитент
общее имя: '*.myapp.com'
DNSИмена:
- '*.myapp.com'
- myapp.com
Я развертываю вход Nginx с помощью kustomize
спецификация:
шаблон:
спецификация:
контейнеры:
- имя: контроллер
аргументы:
- /nginx-вход-контроллер
--publish-service=$(POD_NAMESPACE)/вход-nginx-контроллер
--election-id=вход-контроллер-лидер
--controller-class=k8s.io/ingress-nginx
--ingress-класс=nginx
--configmap=$(POD_NAMESPACE)/вход-nginx-контроллер
--validating-webhook=:8443
--validating-webhook-certificate=/usr/local/сертификаты/сертификат
--validating-webhook-key=/usr/local/сертификаты/ключ
--default-ssl-certificate=default/myapp-com-tls # ЗАМЕТЬТЕ ЭТУ СТРОКУ
Когда я открываю журналы входного контроллера, я вижу эту ошибку.
Ошибка при загрузке пользовательского сертификата по умолчанию, откат для создания «локальный сертификат SSL по умолчанию/myapp-com-tls не найден».
Что я могу сделать, чтобы устранить эту проблему?
ОБНОВИТЬ
Если я побегу
kubectl получить секрет myapp-com-tls --namespace по умолчанию
Ничего не возвращает. Однако, если я бегу
kubectl получить секрет myapp.com-tls-qpmpr --namespace по умолчанию
Он возвращается
ИМЯ ТИП ДАННЫЕ ВОЗРАСТ
myapp.com-tls-qpmpr Непрозрачный 1 47 м
Однако, если я перейду на это в YAML, я получу ту же ошибку
--default-ssl-certificate=default/myapp.com-tls-qpmpr
$ kubectl описать сертификаты myapp-com-tls -n cert-manager
Ошибка сервера (NotFound): certificates.cert-manager.io "myapp-com-tls" не найден