Crossplane: GitOps fĂĽr die Multi-Cloud
Crossplane provisioniert deklarativ jegliche Ressource in jedweder Umgebung – auch Cloud-übergreifend. Möglich macht dies die Kubernetes-API. Ein Einstieg.
- Jonas Hecht
Die deklarative Beschreibung von Infrastruktur mithilfe von Infrastructure-as-Code-Werkzeugen hat sich durchgesetzt, der Markt scheint bereits aufgeteilt. Ob Terraform oder Cloud-Development-Kits wie AWS CDK, Azure Bicep oder Pulumi: Es wird einfach durch Code beschrieben, welche Komponenten die eigene Anwendung benötigt, und schon werden diese provisioniert. In den meisten Fällen muss man dafür jedoch ein neues Werkzeug oder eine neue Sprache erlernen.
Genau hier setzt das Open-Source-Projekt Crossplane an. Das Programm befindet sich seit Ende September 2021 im Incubating-Status der Cloud Native Computing Foundation (CNCF) und betrachtet die Welt durch die Kubernetes-Brille: Jegliche Infrastruktur soll in Crossplane mithilfe der Kubernetes-API beschrieben werden. Obwohl Crossplane selbst auf Kubernetes basiert, kann es auch Infrastruktur provisionieren, die nicht Kubernetes-basiert ist.
Um dies zu erreichen, setzt Crossplane Kubernetes Custom Resource Definitions (CRD) ein. Diese erweitern die bekannte Kubernetes-API aus Pods, Services und Deployments um weitere Ressourcen, die die zu provisionierende Infrastruktur direkt repräsentieren. Solche Ressourcen können ein AWS-S3-Bucket, ein AKS-Cluster, ein Internet-Gateway oder ein Subnetz sein. Da Kubernetes oft mit dem Begriff Cloud-native assoziiert wird, könnte man bei Crossplane also von einem Cloud-native-GitOps-Werkzeug sprechen. Und wenn das Team bereits mit der Kubernetes-API vertraut ist, muss es auch keine neue Sprache erlernen.
Das war die Leseprobe unseres heise-Plus-Artikels "Crossplane: GitOps für die Multi-Cloud". Mit einem heise-Plus-Abo können sie den ganzen Artikel lesen und anhören.