Cert Manager
Zweck
Cert Manager automatisiert die Ausstellung, Erneuerung und Verwaltung von TLS-Zertifikaten innerhalb der Kubernetes-Plattform.
Ziele
-
Automatische Zertifikatsverwaltung
-
Vermeidung manueller Zertifikatserneuerungen
-
Einheitliches TLS-Modell
-
Integration in GitOps
-
Verwendung öffentlich vertrauenswürdiger Zertifikate
Architektur
Ingress / Gateway
|
Certificate
|
Cert Manager
|
ClusterIssuer
|
Let's Encrypt
|
Hetzner DNS
Cert Manager überwacht Certificate-Ressourcen und erzeugt die benötigten TLS-Secrets automatisch.
ACME
Die Plattform verwendet Let’s Encrypt als Zertifizierungsstelle.
Die Validierung erfolgt über DNS01 Challenges.
DNS01 Challenge
Für die DNS-Validierung wird Hetzner DNS verwendet.
Vorteile:
-
Keine öffentlich erreichbaren Challenge-Endpunkte notwendig
-
Funktioniert für Ingress und Gateway API
-
Unterstützung für Wildcard-Zertifikate
ClusterIssuer
Cert Manager verwendet zentrale ClusterIssuer.
Diese stehen allen Namespaces zur Verfügung.
Beispiel:
apiVersion: cert-manager.io/v1
kind: ClusterIssuer
metadata:
name: letsencrypt
spec:
acme:
email: admin@tamay.cloud
Zertifikatsmodell
Verwendung mit Gateway API
Gateway Listener referenzieren die von Cert Manager erzeugten Secrets.
tls:
certificateRefs:
- name: gateway-tls
Automatische Erneuerung
Cert Manager überwacht sämtliche Zertifikate kontinuierlich.
Ablauf:
-
Zertifikat nähert sich dem Ablaufdatum
-
Cert Manager startet eine neue ACME Challenge
-
Let’s Encrypt validiert die Domain
-
Das Secret wird aktualisiert
-
Der Ingress Controller oder das Gateway lädt das Zertifikat neu
Manuelle Erneuerungen sind normalerweise nicht erforderlich.
Vorteile
-
Vollautomatische Zertifikatsverwaltung
-
Öffentliche Vertrauenskette
-
Unterstützung von Wildcard-Zertifikaten
-
Integration mit Ingress und Gateway API
-
GitOps-kompatibel