cert-manager: TLS automatico per Kubernetes

cert-manager (marzo 2017, Jetstack) di Jetstack: controller Kubernetes per automazione TLS. Let's Encrypt/ACME, Vault, HashiCorp, CA interne, wildcard DNS-01.

Open SourceCybersecurity cert-managerJetstackKubernetesTLSLet's EncryptACMECNCFOpen Source

TLS manuale è rotto

In Kubernetes, gestire certificati TLS manualmente è impraticabile: decine di Ingress, hostname diversi, scadenze, rinnovi, multi-tenant. Gli operatori vogliono un flusso dichiarativo: aggiungi un’annotazione o CRD, il cluster ottiene e rinnova il certificato.

Il rilascio

cert-manager viene pubblicato da Jetstack (UK) nel marzo 2017. Lead: James Munnelly. Scritto in Go, licenza Apache 2.0.

Come funziona

Tre CRD fondamentali:

  • Issuer / ClusterIssuer — definisce un’autorità (Let’s Encrypt, Vault, CA privata, Venafi TPP/TLSPDC)
  • Certificate — richiesta di certificato per uno o più DNS SAN
  • CertificateRequest / Order / Challenge — flusso interno ACME
apiVersion: cert-manager.io/v1
kind: ClusterIssuer
metadata: { name: letsencrypt-prod }
spec:
  acme:
    email: ops@example.com
    server: https://acme-v02.api.letsencrypt.org/directory
    privateKeySecretRef: { name: le-prod-key }
    solvers:
      - http01: { ingress: { class: nginx } }

Sui Ingress basta l’annotazione cert-manager.io/cluster-issuer: letsencrypt-prod e cert-manager emette/rinnova certificati automaticamente in Secret TLS.

Feature

  • ACME HTTP-01 e DNS-01 — DNS-01 richiesto per wildcard
  • Provider DNS 50+ (Route53, Cloudflare, Azure DNS, GCP, OVH, DigitalOcean, etc.)
  • Vault issuer — PKI HashiCorp Vault
  • Venafi — enterprise CA
  • Self-signed / CA — CA interne
  • Renewal automatic — entro window configurabile
  • mTLS — per Istio, Linkerd integration

Integrazione ecosystem

  • Ingress NGINX, Traefik, Contour, HAProxy Ingress
  • Istio (gateway), Linkerd (mTLS)
  • External DNS — combinazione per auto-DNS + TLS

Alternative

  • Traefik ACME — built-in in Traefik, meno features
  • Caddy — auto-HTTPS, ma fuori da K8s native
  • kube-lego — predecessore, deprecato
  • EKS ACM, GKE Managed Certs — cloud-specific

Nel contesto italiano

cert-manager sta diventando la scelta di riferimento per TLS Kubernetes nelle aziende italiane che stanno mettendo in produzione K8s: SaaS B2B multi-tenant con wildcard Let’s Encrypt DNS-01, banche con CA interne via Vault issuer, PA digitale con certificati emessi da AgID-CAs, MSP e hosting provider con Kubernetes-as-a-Service.


Riferimenti: cert-manager (Jetstack, marzo 2017). James Munnelly. Licenza Apache 2.0. ACME, Vault, Venafi, CA private issuer. Wildcard DNS-01 support.

Vuoi supporto? Sei sotto attacco? Stato dei servizi
Vuoi supporto? Sei sotto attacco? Stato dei servizi