Kurzfassung
Crossplane verwandelt Kubernetes in eine universelle Control Plane für Cloud-Infrastruktur, indem Custom Resource Definitions (CRDs) eingeführt werden, die Cloud-Ressourcen repräsentieren und es Teams ermöglichen, Datenbanken, Storage und Netzwerke mit Standard-Kubernetes-Tooling zu provisionieren.
Was ist Crossplane?
Crossplane wird in einem Kubernetes-Cluster installiert und fügt CRDs für Cloud-Provider-Ressourcen hinzu – AWS-RDS-Instanzen, GCP-Buckets, Azure Virtual Networks – zusammen mit Controllern, die diese Ressourcen mit den echten Cloud-APIs abgleichen. Aus Benutzersicht sieht die Provisionierung einer Datenbank identisch mit dem Deployment eines Pods aus.
Composite Resources (XRs) und Compositions sind die Schlüssel-Abstraktionsschicht: Plattform-Teams definieren Compositions, die ein einfaches, meinungsstarkes CRD auf eine Reihe konkreter Cloud-Ressourcen abbilden. Anwendungs-Teams konsumieren das einfache CRD ohne die zugrunde liegende Komplexität verstehen zu müssen.
Crossplane-Provider sind die Plugins, die wissen, wie sie mit spezifischen Cloud-APIs kommunizieren.
Warum ist Crossplane relevant?
- Einzelne Control Plane: Anwendungs-Workloads und ihre Cloud-Abhängigkeiten über eine Kubernetes-API verwalten
- GitOps-kompatibel: Infrastrukturdefinitionen leben in Git und werden kontinuierlich abgeglichen
- Abstraktionsschichten: Plattform-Teams definieren Golden Paths; Anwendungs-Teams konsumieren einfache APIs
- Policy-Durchsetzung: Kubernetes Admission Controller und OPA gelten auch für Infrastruktur