Tutorial GitOps mit Crossplane, Teil 1: Beyond CI/CD
Crossplane orchestriert Ressourcen cloudübergreifend und bietet zugleich eine Implementierung der GitOps-Prinzipien. Damit kann es Tools wie Terraform ablösen.
- Jonas Hecht
GitOps wird gern mit dem Pull-Prinzip assoziiert, doch steht dabei oft das Deployment von Anwendungen im Fokus. Die dazugehörige Provisionierung der Infrastruktur wird meist noch ganz herkömmlich per Push über die CI/CD-Pipeline gesteuert. Das liegt nicht zuletzt an den verwendeten Werkzeugen, die das GitOps-Konzept in Teilen unterlaufen.
Hingegen ist Crossplane ein Cloud-Provisionierer, der im Zusammenspiel mit einem GitOps-Operator eine nahtlose GitOps-Implementierung erlaubt, in der Anwendungs-Deployment und Infrastrukturprovisionierung denselben Regeln folgen.
- GitOps stellt mit seinem Pull-Prinzip traditionelle CI/CD-Pipelines auf den Kopf. Das gilt fĂĽrs Anwendungs-Deployment genauso wie fĂĽr die Infrastrukturprovisionierung.
- Herkömmliche Provisionierungswerkzeuge wie Terraform, die nicht von Grund auf für den Einsatz in GitOps-Umgebungen entwickelt wurden, fügen sich hier nicht gut ein. Sie arbeiten meist mit eigenen States außerhalb der Single Source of Truth und eigenen Ressourcenbeschreibungen.
- Das auf Kubernetes aufsetzende CNCF-Projekt Crossplane arbeitet ausschlieĂźlich mit Kubernetes-Manifesten und erlaubt ein nahtloses Zusammenspiel von Infrastrukturprovisionierung und GitOps-Werkzeugen wie Argo CD.
- Durch seine Abstraktionsfähigkeiten kann Crossplane zudem Multi-Clouds provisionieren.
Was hat CI/CD mit GitOps zu tun?
Bevor sich der Begriff GitOps herausbildete, wurden meist CI/CD-Pipelines verwendet, um möglichst jeden einzelnen Prozess der Softwareentwicklung und -auslieferung zu automatisieren. Dabei besteht eine simple CI/CD-Pipeline üblicherweise aus drei Schritten, die alle den im Git-Repository abgelegten Quellcode nutzen.
Das war die Leseprobe unseres heise-Plus-Artikels "Tutorial GitOps mit Crossplane, Teil 1: Beyond CI/CD ". Mit einem heise-Plus-Abo können Sie den ganzen Artikel lesen.