Linuxguide

Crossplane – Cloud-Infrastruktur aus Kubernetes verwalten 2025

AWS, Azure und GCP-Ressourcen als Kubernetes Custom Resources

S
SeeColors IT
11. Juni 20264 Min. Lesezeit142 Aufrufe

Crossplane Konzept

Traditionell:
  Terraform/Pulumi verwaltet Cloud-Ressourcen separat
  Kubernetes verwaltet App-Ressourcen
  → Zwei getrennte Systeme

Mit Crossplane:
  Kubernetes ist das Control Plane fuer ALLES
  Cloud-Ressourcen = Kubernetes Custom Resources
  kubectl create -f rds-instance.yaml
  → AWS RDS wird erstellt!

Vorteile:
  - Einheitliches API (kubectl)
  - RBAC fuer Cloud-Ressourcen
  - GitOps fuer App + Infra in einem
  - Komposition: eigene Abstraktion fuer Cloud-Ressourcen

Crossplane installieren

# Helm-Installation
helm repo add crossplane-stable https://charts.crossplane.io/stable
helm repo update

helm install crossplane crossplane-stable/crossplane     --namespace crossplane-system     --create-namespace

# Crossplane CLI
curl -sL https://raw.githubusercontent.com/crossplane/crossplane/master/install.sh | sh

# Status
kubectl get pods -n crossplane-system

AWS Provider installieren

# AWS Provider
apiVersion: pkg.crossplane.io/v1
kind: Provider
metadata:
  name: provider-aws-s3
spec:
  package: xpkg.upbound.io/upbound/provider-aws-s3:v1
# Credentials konfigurieren
kubectl create secret generic aws-secret     --from-file=creds=./aws-credentials.txt     --namespace crossplane-system
# ProviderConfig
apiVersion: aws.upbound.io/v1beta1
kind: ProviderConfig
metadata:
  name: default
spec:
  credentials:
    source: Secret
    secretRef:
      namespace: crossplane-system
      name: aws-secret
      key: creds

S3 Bucket als Kubernetes-Resource

# s3-bucket.yaml
apiVersion: s3.aws.upbound.io/v1beta1
kind: Bucket
metadata:
  name: mein-backup-bucket
spec:
  forProvider:
    region: eu-central-1
    tags:
      Environment: production
      Team: platform
  providerConfigRef:
    name: default
# S3 Bucket erstellen!
kubectl apply -f s3-bucket.yaml

# Status
kubectl get buckets
kubectl describe bucket mein-backup-bucket

# S3 Bucket loeschen
kubectl delete bucket mein-backup-bucket

FAQ

Wann nehme ich Crossplane statt Terraform?
Crossplane: wenn Kubernetes schon genutzt wird und App-Teams Cloud-Ressourcen selbst beantragen sollen (Self-Service). Terraform: bessere Ecosystem-Reife, mehr Provider.

Fazit

Crossplane ist spannend fuer Platform-Teams: Apps und Infrastruktur im selben Kubernetes-Cluster, einheitliche RBAC und GitOps.

Kubernetes Platform Engineering fuer KMU in Heidelberg, Mannheim und der Rhein-Neckar-Region. Beratung anfragen.

Artikel teilen

War dieser Artikel hilfreich?

Dein Feedback hilft uns, bessere Inhalte zu erstellen.

Kommentar hinterlassen

Verwandte Artikel