Expirovaný certifikát znamená výpadek. Špatně spravované certifikáty jsou časovaná bomba — většina organizací má certifikáty roztroušené na desítkách serverů bez centrální evidence. Když vyprší certifikát na produkčním load balanceru v pátek večer, je pozdě na ruční obnovu. Automatizace lifecycle certifikátů je investice, která se vrátí při prvním zabraňeném výpadku.
cert-manager v Kubernetes¶
# Instalace
helm install cert-manager jetstack/cert-manager --set installCRDs=true
# Let's Encrypt issuer
apiVersion: cert-manager.io/v1
kind: ClusterIssuer
metadata:
name: letsencrypt
spec:
acme:
server: https://acme-v02.api.letsencrypt.org/directory
email: [email protected]
privateKeySecretRef:
name: letsencrypt-key
solvers:
- http01:
ingress:
class: nginx
cert-manager automatizuje celý lifecycle — vyžádání, validaci, uložení do Kubernetes Secret a automatickou obnovu před expirací. Podporuje Let’s Encrypt, Vault, Venafi a další certificate authority. Po konfiguraci ClusterIssueru stačí v Ingress anotaci přidat cert-manager.io/cluster-issuer: letsencrypt a certifikát se vytvoří automaticky.
Monitoring¶
# Prometheus alert
- alert: CertificateExpiringSoon
expr: certmanager_certificate_expiration_timestamp_seconds - time() < 7 * 24 * 3600
labels:
severity: warning
annotations:
summary: "Certificate {{ $labels.name }} expires in less than 7 days"
Monitoring expirace je druhá kritická vrstva. Prometheus metriky z cert-manageru umožňují nastavit alerting s dostatečným předstihem. Pro certifikáty mimo Kubernetes použijte nástroje jako ssl-cert-check nebo blackbox exporter, který testuje TLS handshake na endpointech.
Mimo Kubernetes¶
Pro servery bez cert-manageru automatizujte obnovu přes certbot s cron jobem. Pro interní PKI zvažte HashiCorp Vault jako certificate authority — Vault vydává krátkodobé certifikáty (hodiny místo měsíců), čímž minimalizuje dopad kompromitace.
Klíčový takeaway¶
cert-manager pro Kubernetes, certbot pro standalone servery, Prometheus pro monitoring expirace. Automatizujte obnovu a monitorujte expiraci — ruční správa certifikátů nefunguje při škálování.