Kubernetes Nginx Ingress не удалось загрузить собственный сертификат из диспетчера сертификатов
Я используюcert-manager
с этим специальным сертификатом с подстановочными знаками
apiVersion: cert-manager.io/v1
kind: ClusterIssuer
metadata:
name: letsencrypt-myapp-issuer
spec:
acme:
server: https://acme-v02.api.letsencrypt.org/directory
email: app@example.com # CHANGE-ME
privateKeySecretRef:
name: wildcard-myapp-com
solvers:
# ACME DNS-01 provider configurations
- dns01:
cloudDNS:
serviceAccountSecretRef:
name: clouddns-service-account
key: dns-service-account.json
project: myapp
selector:
dnsNames:
- '*.myapp.com'
- myapp.com
---
apiVersion: cert-manager.io/v1
kind: Certificate
metadata:
name: myapp-com-tls
namespace: default
spec:
secretName: myapp-com-tls
issuerRef:
name: letsencrypt-myapp-issuer
commonName: '*.myapp.com'
dnsNames:
- '*.myapp.com'
- myapp.com
Я развертываю вход Nginx с помощью настройки
spec:
template:
spec:
containers:
- name: controller
args:
- /nginx-ingress-controller
- --publish-service=$(POD_NAMESPACE)/ingress-nginx-controller
- --election-id=ingress-controller-leader
- --controller-class=k8s.io/ingress-nginx
- --ingress-class=nginx
- --configmap=$(POD_NAMESPACE)/ingress-nginx-controller
- --validating-webhook=:8443
- --validating-webhook-certificate=/usr/local/certificates/cert
- --validating-webhook-key=/usr/local/certificates/key
- --default-ssl-certificate=default/myapp-com-tls # NOTE THIS LINE
Когда я открываю журналы входного контроллера, я вижу эту ошибку
Ошибка загрузки пользовательского сертификата по умолчанию, возврат к созданию локального сертификата SSL по умолчанию/myapp-com-tls не найден.
Что я могу сделать, чтобы устранить эту неполадку?
ОБНОВЛЯТЬ
Если я побегу
kubectl get secret myapp-com-tls --namespace default
Он ничего не возвращает. Однако, если я забегу
kubectl get secret myapp.com-tls-qpmpr --namespace default
Он возвращает
NAME TYPE DATA AGE
myapp.com-tls-qpmpr Opaque 1 47m
Однако, если я перейду на это в YAML, я получу ту же ошибку.
--default-ssl-certificate=default/myapp.com-tls-qpmpr
$ kubectl describe certificates myapp-com-tls -n cert-manager
Error from server (NotFound): certificates.cert-manager.io "myapp-com-tls" not found