Aguardando a emissão do certificado do status do pedido “pendente”
Estou tendo um problema ao lidar com certificados tls com cert-manager, estou seguindo a documentação e adicionei alguns extras para trabalhar Traefik
como uma entrada.
Atualmente, tenho estes YAML
arquivos:
cluster-issuer.yaml
apiVersion: cert-manager.io/v1alpha2
kind: ClusterIssuer
metadata:
name: letsencrypt-staging
namespace: secure-alexguedescom
spec:
acme:
email: [email protected]
server: https://acme-staging-v02.api.letsencrypt.org/directory
privateKeySecretRef:
# Secret resource used to store the account's private key.
name: letsencrypt-staging
# Add a single challenge solver, HTTP01 using nginx
solvers:
- selector: {}
http01:
ingress:
class: traefik-cert-manager
traefik-ingress.yaml
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
annotations:
# add an annotation indicating the issuer to use.
cert-manager.io/cluster-issuer: letsencrypt-staging
name: secure-alexguedescom-ingress-http
namespace: secure-alexguedescom
spec:
rules:
- host: secure.alexguedes.com
http:
paths:
- backend:
serviceName: secure-alexguedescom-nginx
servicePort: 80
path: /
tls:
- hosts:
- secure.alexguedes.com
secretName: secure-alexguedescom-cert
cert-staging.yaml
apiVersion: cert-manager.io/v1alpha2
kind: Certificate
metadata:
name: secure-alexguedescom-cert
namespace: secure-alexguedescom
spec:
commonName: secure.alexguedes.com
secretName: letsencrypt-staging
dnsNames:
- secure.alexguedes.com
issuerRef:
name: letsencrypt-staging
kind: ClusterIssuer
Inspecionando os certificados, recebo esta mensagem de erro:
Message: Issuing certificate as Secret does not contain a certificate
Reason: MissingData
Também inspecionando as certificaterequest
mensagens de registro Tenho este:
Status:
Conditions:
Last Transition Time: 2020-08-16T00:32:01Z
Message: Waiting on certificate issuance from order secure-alexguedescom/secure-alexguedescom-cert-q8w5p-1982372682: "pending"
Reason: Pending
Status: False
Type: Ready
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal OrderCreated 11m cert-manager Created Order resource secure-alexguedescom/secure-alexguedescom-cert-q8w5p-1982372682
Normal OrderPending 11m cert-manager Waiting on certificate issuance from order secure-alexguedescom/secure-alexguedescom-cert-q8w5p-1982372682: ""
Não tenho certeza de qual peça está errada, usando Helm v2 com Tiller e k8s v1.7
Alguma ideia?
desde já, obrigado
Respostas
O problema típico dos certificados letsencrypt é o próprio letsencrypt não ser capaz de validar quem você é e que você possui o domínio. Neste caso alexguedes.com
,.
Com cert-manager você pode fazer Validação de Domínio e Validação HTTP . Com base na postagem, ClusterIssuer
você está fazendo a validação de HTTP. Portanto, você precisa ter certeza de que é secure.alexguedes.com
resolvido para um endereço IP disponível globalmente e que a porta Traefik 443
está escutando nesse endereço IP.