Create ClusterIssuer (Let's Encrypt) cert-manager
Create Let's Encrypt prod ClusterIssuer with HTTP-01 solver
kubectl apply -f - <<EOF
apiVersion: cert-manager.io/v1
kind: ClusterIssuer
metadata:
name: letsencrypt-prod
spec:
acme:
server: https://acme-v02.api.letsencrypt.org/directory
email: admin@example.com
privateKeySecretRef:
name: letsencrypt-prod
solvers:
- http01:
ingress:
class: nginx
EOF
more cert-manager
all 16 commands →
Force certificate renewal
cmctl renew <name> -n <ns>
Certificate status playbook
cmctl status certificate <name> -n <ns>
Inspect issued secret contents
cmctl inspect secret <name> -n <ns>
DNS01 Route53 ClusterIssuer
kubectl apply -f - <<EOF
apiVersion: cert-manager.io/v1
kind: ClusterIssuer
metadata:
name: letsencrypt-dns
spec:
acme:
server: https://acme-v02.api.letsencrypt.org/directory
privateKeySecretRef:
name: letsencrypt-dns
solvers:
- dns01:
route53:
region: us-east-1
hostedZoneID: <id>
EOF
Stuck ACME challenges
kubectl get challenges -A -o wide && kubectl describe challenge -n <ns> <name>