Crossplane
Overview
Crossplane est une plateforme d'Infrastructure as Code native Kubernetes, permettant de provisionner et gérer l'infrastructure cloud (et non-cloud) en utilisant l'API Kubernetes standard. L'outil étend Kubernetes avec des Custom Resource Definitions (CRDs) pour représenter les ressources d'infrastructure (bases de données, buckets, réseaux, etc.) comme des objets Kubernetes déclaratifs.
Avec Crossplane, tu peux définir l'infrastructure via des manifests YAML Kubernetes, bénéficier de la réconciliation continue de Kubernetes, et intégrer la gestion d'infrastructure dans les workflows GitOps existants.
Crossplane fonctionne comme un contrôleur Kubernetes qui observe les ressources déclarées et provisionne l'infrastructure correspondante dans les providers cloud via des providers Crossplane.
Informations essentielles
| Propriété | Valeur |
|---|---|
| Site officiel | https://www.crossplane.io/ |
| Licence | Apache 2.0 |
| Nationalité | International (projet CNCF) |
| Type | Infrastructure as Code Kubernetes-native, provisioning cloud |
| Déploiement | Kubernetes, cloud providers |
| Difficulté | Avancé |
| Technologies | Go, Kubernetes, YAML, providers cloud |
TL;DR
Crossplane est idéal si tu travailles déjà avec Kubernetes et veux gérer l'infrastructure cloud de manière unifiée via l'API Kubernetes. Il permet une intégration naturelle avec GitOps (Flux, ArgoCD) et offre une approche déclarative cohérente pour applications et infrastructure. L'outil convient particulièrement aux environnements cloud-native où Kubernetes est central. En contrepartie, la courbe d'apprentissage est significative (Kubernetes, CRDs, providers), et l'écosystème est moins mature que Terraform ou Pulumi. La complexité opérationnelle peut être élevée.
Compatibilité et intégrations
- Cloud providers : AWS, Azure, GCP, Alibaba Cloud, etc. via providers Crossplane
- Kubernetes : fonctionne sur tout cluster Kubernetes 1.16+
- GitOps : intégration native avec Flux, ArgoCD, etc.
- Écosystème : providers officiels et communautaires pour services cloud
- Composition API : création de ressources composites personnalisées
Avantages
- Approche Kubernetes-native, cohérente avec l'écosystème cloud-native
- Réconciliation continue comme pour les pods Kubernetes
- Intégration GitOps naturelle
- Un seul outil pour applications et infrastructure
- Composition et abstraction via Composition API
- Gestion d'infrastructure via kubectl
Limites
- Courbe d'apprentissage élevée (Kubernetes, CRDs, providers)
- Écosystème moins mature que Terraform ou Pulumi
- Nécessite un cluster Kubernetes pour fonctionner
- Complexité opérationnelle supplémentaire (déploiement, maintenance)
- Moins de documentation et d'exemples que les outils IaC traditionnels
Ressources
- Site officiel : https://www.crossplane.io/
- Documentation : https://docs.crossplane.io/
- Repository GitHub : https://github.com/crossplane/crossplane
- Providers disponibles : https://marketplace.upbound.io/