cert-manager
Automatisiert Ausstellung und Erneuerung von TLS-Zertifikaten.
cert-manager ist ein Kubernetes-Controller für den Lebenszyklus von TLS-Zertifikaten. Deklarative Ressourcen beschreiben, welches Zertifikat benötigt wird und welche Zertifizierungsstelle es ausstellen soll. cert-manager führt die dafür erforderlichen Prüfungen aus, legt Zertifikat und privaten Schlüssel als Kubernetes Secret ab und erneuert das Zertifikat vor seinem Ablauf.
Die wichtigsten Ressourcen bilden eine klare Kette:
Issuer
Beschreibt die Zertifizierungsstelle und das verwendete Ausstellungsverfahren, beispielsweise ACME.
Certificate
Definiert Domainnamen, Laufzeit und das Kubernetes Secret des benötigten Zertifikats.
TLS Secret
Enthält Zertifikat und privaten Schlüssel für den Ingress oder den vorgesehenen Workload.
cert-manager in der UDSP
Die UDSP verwendet cert-manager für die öffentlich erreichbaren HTTPS-Endpunkte der Plattform- und Mandantendienste. Die Plattformbasis legt einen ACME-Issuer für Tests und einen produktiven Issuer an. Ingress-Ressourcen der Komponenten verweisen anschließend auf den produktiven Issuer und auf das jeweils für ihre Domain bestimmte TLS Secret.
cert-manager hält damit die Zertifikate aktuell, übernimmt aber weder Routing noch Benutzeranmeldung oder API-Berechtigungen. Der Ingress nimmt die HTTPS-Verbindung an, APISIX steuert veröffentlichte API-Routen und Keycloak stellt Identitäten und Token bereit.
Der Controller arbeitet plattformweit. Fehler bei ACME-Challenges, DNS-Auflösung oder externer Erreichbarkeit wirken sich deshalb auf die Zertifikatsausstellung mehrerer Komponenten aus und müssen bereits vor dem Rollout geprüft werden.
Konfiguration und Deployment
inv_op_stack.cert_manager_operator aktiviert den Controller und legt dessen Namespace fest. Unter inv_k8s.cert_manager werden die ACME-Kontaktadresse sowie die Namen des Staging- und Produktions-Issuers konfiguriert.
Die konkreten Inventory-Felder sind unter Plattformbasis konfigurieren: Deployment-Umgebung und Cluster beschrieben. DNS, Ingress und externe Erreichbarkeit müssen zuvor gemäß Installation vorbereiten bereitstehen.
Rollen und Rechte
cert-manager besitzt keine Keycloak-Rollen und wird nicht von normalen Plattformnutzern bedient. Die Berechtigungen liegen vollständig auf der Kubernetes-Ebene:
Controller
Der ServiceAccount des Controllers darf Zertifikatsressourcen beobachten und die benötigten TLS Secrets verwalten.
Plattformbetrieb
Nur autorisierte Betriebsrollen dürfen Issuer, Certificate-Ressourcen und deren Ziel-Namespaces verändern.
Workloads
Ingress und Dienste erhalten ausschließlich Zugriff auf die für ihren Endpunkt bestimmten TLS Secrets.
Private Schlüssel sind schützenswerte Secrets. Leserechte auf die zugehörigen Namespaces oder Secret-Ressourcen dürfen deshalb nicht pauschal vergeben werden. Änderungen an Issuern und Zertifikaten gehören in den nachvollziehbaren Deployment-Prozess.