У меня есть собственный кластер Kubernetes с Nginx Ingress. На кластере также работает Cert-manager, с помощью которого я пытаюсь получить действительные SSL-сертификаты с помощью Letsencrypt. Все работает и я получаю действующий сертификат для example.com, www.example.com или app1.example.com, но не для общего подстановочного знака *.example.com. Если я попытаюсь каким-либо образом ввести подстановочный знак при входе в sec.tls.hosts, для меня не будет создан сертификат.
Я получаю вывод для
kubectl получить сертификат
ИМЯ ГОТОВ ТАЙНЫЙ ВОЗРАСТ
tls-test-cert False tls-electi-cert 20h
kubectl получить запрос сертификата
ИМЯ УТВЕРЖДЕНО ОТКАЗАНО ГОТОВО ЭМИТЕНТ ЗАПРОС ВОЗРАСТ
tls-test-cert-8jw75 Верно Неверно letsencrypt-staging system:serviceaccount:cert-manager:cert-manager 18 м
kubectl описать CertificateRequest
[...]
Положение дел:
Условия:
Время последнего перехода: 2022-02-27T13:54:38Z
Сообщение: Запрос сертификата одобрен cert-manager.io
Причина: cert-manager.io
Статус: Верно
Тип: Утверждено
Время последнего перехода: 2022-02-27T13:54:38Z
Сообщение: Ожидание выдачи сертификата от шлюза заказа/tls-test-cert-8jw75-1425588341: "ожидание"
Причина: Ожидание
Статус: Ложь
Тип: Готовый
События:
Тип Причина Возраст от сообщения
---- ------ ---- ---- -------
Обычный cert-manager.io 18 минут cert-manager Запрос сертификата одобрен cert-manager.io
Обычный OrderCreated 18m cert-manager Created Order resource gateway/tls-test-cert-8jw75-1425588341
Обычный OrderPending 18m cert-manager Ожидание выдачи сертификата от шлюза заказа/tls-test-cert-8jw75-1425588341: ""
Мой Nginx Ingress: (для этого поста я поменял свой домен на example.com)
---
Версия API: networking.k8s.io/v1
вид: Вход
метаданные:
Название: тест-менеджмент
пространство имен: шлюз
аннотации:
kubernetes.io/ingress.class: nginx
cert-manager.io/cluster-issuer: "letsencrypt-staging"
nginx.ingress.kubernetes.io/force-ssl-redirect: "true"
nginx.ingress.kubernetes.io/ssl-redirect: "true"
nginx.ingress.kubernetes.io/backend-протокол: «HTTP»
спецификация:
ingressClassName: nginx
тлс:
- secretName: tls-тест-сертификат
хосты:
- пример.com
- '*.example.com'
правила:
- хост: example.com
http:
пути:
- дорожка: /
тип пути: префикс
серверная часть:
оказание услуг:
имя: тестовый шлюз
порт:
номер: 80
- хост: '*.example.com'
http:
пути:
- дорожка: /
тип пути: префикс
серверная часть:
оказание услуг:
имя: тестовый шлюз
порт:
номер: 80
Эмитент: (здесь я отредактировал свое электронное письмо)
apiVersion: cert-manager.io/v1
вид: Эмитент
метаданные:
имя: letsencrypt-staging
пространство имен: cert-manager
спецификация:
акме:
сервер: https://acme-staging-v02.api.letsencrypt.org/directory
электронное письмо: *******
privateKeySecretRef:
имя: letsencrypt-staging
решатели:
- http01:
вход:
класс: nginx
Мой обратный прокси (тестовый шлюз) определенно работает и перенаправляет все поддомены на мой сайт.
Заранее спасибо за любые идеи относительно того, что может быть причиной этого.