Secrets Management für GitOps: Wie Sie Zugangsdaten in Git aufbewahren können

Ob mit oder ohne Kubernetes: Konfigurationen an einem zentralen Ort zu speichern, hat sich bewährt. Doch wohin mit den Zugangsdaten?

Artikel verschenken
In Pocket speichern vorlesen Druckansicht 24 Kommentare lesen
Lesezeit: 17 Min.
Von
  • Dr. Jan Bundesmann
  • Dr. Pascal Fries
  • Lukas Paluch
Inhaltsverzeichnis

Zentrale Repositorys zum Speichern der Konfigurationen haben sich etabliert und speziell im Kubernetes-Umfeld ist Git als zentrale Quelle der Wahrheit alternativlos. Jedoch haben Zugangsdaten in einer – praktisch unlöschbaren – Versionskontrolle nichts verloren. Auf zwei Wegen lässt sich das vermeiden: Entweder legt man die Zugangsdaten nur verschlüsselt im Git ab oder man externalisiert das Secrets Management. Welche Ansätze sich für welche Szenarien am besten eignen und wie man sie umsetzt, zeigen wir anhand von Beispielen.

Mehr zum Thema GitOps

Drei GitOps-Operatoren für Kubernetes sind heutzutage am weitesten verbreitet: Argo CD, Flux und Fleet. Zwei Ansätze funktionieren nur mit Argo CD, die anderen sind unabhängig vom eingesetzten Werkzeug. Aufgrund seiner weiten Verbreitung liegt unser Fokus auf Argo CD.

Dr. Jan Bundesmann

Dr. Jan Bundesmann ist Systemadministrator für Mordor, automatisiert gerne Infrastruktur und kümmert sich bei der ATIX AG um Testautomatisierung.

Dr. Pascal Fries

Dr. Pascal Fries liest gerne und gründlich Dokus und kennt alle Anwendungen rund um Kubernetes. Für die ATIX AG berät er Kunden zu Themen rund um die Cloud und Kubernetes.

Lukas Paluch

Lukas Paluch berät Kunden für die tuxig GmbH und hat Green IT als Steckenpferd. Wie er gerne beweist, ist Kubernetes dafür ein geeignetes Werkzeug.

Der grundlegende Workflow ist immer gleich: Anwendungsentwickler und -betreiber pflegen ein Git-Repository mit Deployment-Ressourcen, seien es YAML-Manifeste, Helm Charts oder Kustomize-Overlays. Änderungen an der Anwendung landen als neue Commits im Repository. Der GitOps-Operator kümmert sich in der Folge darum, dass der Kubernetes-API-Server die gewünschten Ressourcen mit den Spezifikationen aus dem Repository kennt. Wie das dann konkret abläuft, hängt vom gewählten Ansatz ab. In Argo CD lassen sich Plug-ins zum Entschlüsseln on the fly definieren, oder man überlässt das Entschlüsseln dedizierten Operatoren auf dem Zielcluster, etwa Sealed Secrets oder SOPS (Secrets Operations).

Das war die Leseprobe unseres heise-Plus-Artikels "Secrets Management für GitOps: Wie Sie Zugangsdaten in Git aufbewahren können". Mit einem heise-Plus-Abo können sie den ganzen Artikel lesen und anhören.