Learn CROSSPLANE with Real Code Examples

Updated Nov 27, 2025

Explain

Crossplane enables Infrastructure as Code (IaC) using Kubernetes manifests.

Resources are defined as Custom Resource Definitions (CRDs) in Kubernetes.

Supports multiple cloud providers (AWS, GCP, Azure, etc.) via provider plugins.

Allows composition of infrastructure components to create higher-level abstractions.

Ideal for cloud-native deployments, multi-cloud management, and GitOps pipelines.

Core Features

CRDs for cloud resources and infrastructure abstractions

Composition resources for reusable infrastructure stacks

Provider plugins for multiple clouds

Declarative management via `kubectl` or GitOps tools

Policy and RBAC integration with Kubernetes

Basic Concepts Overview

Managed Resource - represents a cloud service (e.g., RDS instance)

Provider - plugin enabling cloud API access

Composition - reusable blueprint of resources

Composite Resource Claim (XRC) - user-facing abstraction

Controller - reconciles desired state with actual cloud resources

Project Structure

crossplane.yaml - main Crossplane configuration

compositions/ - reusable infrastructure blueprints

providers/ - provider CRDs and credentials

claims/ - user-facing resource requests

README.md - documentation for infra-as-code setup

Building Workflow

Install Crossplane in Kubernetes cluster

Install cloud provider packages

Define managed resources via YAML

Create compositions to define higher-level abstractions

Deploy composite claims to provision resources automatically

Difficulty Use Cases

Beginner: provision single cloud resource via YAML

Intermediate: deploy multi-resource composition

Advanced: create custom compositions with policies

Expert: multi-cloud resource orchestration

Architect: enterprise-scale GitOps integration with Crossplane

Comparisons

Crossplane vs Terraform - Kubernetes-native vs standalone IaC tool

Crossplane vs Pulumi - declarative CRDs vs code-based IaC

Crossplane vs ArgoCD - infrastructure vs GitOps deployment management

Crossplane vs AWS CloudFormation - cloud-agnostic vs provider-specific

Crossplane vs Helm - application deployment vs infrastructure provisioning

Versioning Timeline

2018 - Crossplane project initiated by Upbound

2019 - First open-source release

2020 - Introduction of compositions and claims

2021 - Multi-cloud provider support expanded

2022–2025 - Continuous updates for stability, scalability, and GitOps features

Glossary

Managed Resource - cloud resource controlled by Crossplane

Provider - plugin for a cloud platform

Composition - blueprint for reusable infrastructure

Composite Resource Claim (XRC) - user-facing request for resources

Controller - reconciles desired vs actual resource state