Crossplane
Infrastructure-as-Code
Provisioning infrastruktury przez API Kubernetes (control plane).
Crossplane zamienia Kubernetes w uniwersalny control plane do zarządzania infrastrukturą. Zasoby chmurowe deklarujesz jako obiekty Kubernetes, a kontrolery nieustannie uzgadniają stan rzeczywisty z pożądanym (reconciliation). Pozwala też budować własne, wysokopoziomowe abstrakcje (Compositions) i udostępniać je zespołom jako self-service.
Kiedy używać
- Standaryzujesz na Kubernetes i chcesz tym samym API zarządzać też infrastrukturą.
- Budujesz wewnętrzną platformę (IDP) z self-service dla deweloperów.
- Zależy Ci na ciągłym uzgadnianiu stanu, nie jednorazowym
apply.
Przykład użycia
apiVersion: s3.aws.upbound.io/v1beta1
kind: Bucket
metadata:
name: eiac-assets
spec:
forProvider:
region: eu-central-1
kubectl apply -f bucket.yaml
kubectl get buckets
Crossplane utrzyma zasób w zadanym stanie — jeśli ktoś zmieni go ręcznie, kontroler go skoryguje.
Warto wiedzieć
- Projekt CNCF; dojrzały ekosystem providerów (Upbound).
- Compositions + Claims pozwalają ukryć złożoność za prostym API dla zespołów.