PLEASE NOTE: This document applies to v0.4 version and not to the latest release v0.7Documentation for other releases can be found by using the version selector in the top right of any doc page.
Crossplane is an open source multicloud control plane to manage your
cloud-native applications and infrastructure across environments, clusters,
regions and clouds. It enables provisioning and full-lifecycle management of
applications and managed services from your choice of cloud using
Crossplane can be installed into an existing Kubernetes cluster to add managed service provisioning or deployed as a dedicated control plane for multi-cluster management and workload scheduling.
Crossplane enables the community to build and publish Stacks to add more clouds and cloud services to Crossplane with support for out-of-tree extensibility and independent release schedules. Crossplane includes Stacks for GCP, AWS, and Azure today.
Crossplane has four main feature areas that can be used independently:
Crossplane Services supports managed service provisioning using
applies the Kubernetes pattern for Persistent Volume (PV) claims and classes to
managed service provisioning with support for a strong separation of concern
between app teams and cluster administrators.
App teams can choose between cloud-specific and portable services including managed databases, message queues, buckets, data pipelines, and more to define complete applications, build once, and deploy into multiple clouds using continuous delivery pipelines or GitOps flows.
Cluster administrators can define self-service policies and best-practice configurations to accelerate app delivery and improve security, so app teams can focus on delivering their app instead of cloud-specific infrastructure details.
Take a look at the getting started guide for an introduction
to Crossplane Services. The Crossplane Services Guide
also explores related concepts and shows how to use Crossplane Services to
deploy a Wordpress instance that securely consumes a managed
from GCP, AWS, or Azure using
Crossplane is built on the Kubernetes API machinery as a platform, and Stacks simplify extending the Kubernetes API to provision and lifecycle manage apps and the managed service infrastructure they depend on, including Stack security and isolation.
Infra Stacks like stack-gcp, stack-aws, and stack-azure extend the Kubernetes API to support managed service provisioning (DBaaS, cache, buckets), secure connectivity (VPCs, subnets, peering, ACLs, secrets), and provisioning managed Kubernetes clusters on demand to further isolate the blast radius of applications.
Infra Stacks are pre-built and published to the Stacks
registry where they can be installed by a Cluster Admin using a
ClusterStackInstall Kubernetes API kind or with the
stack install command that installs a Stack with
permissions to watch resources at a cluster level, across all namespaces.
App Stacks are pre-built and published to the Stacks registry
where they can be installed by an app team using a
StackInstall Kubernetes API kind or with the
install command that installs Stacks with permissions
only within a single namespace.
The Crossplane Developer Guide shows how to build and extend Infra Stacks and App Stacks.
Crossplane includes an extensible workload scheduler that observes application policies to select a suitable target cluster from a pool of available clusters. The workload scheduler can be customized to consider a number of criteria including capabilities, availability, reliability, cost, regions, and performance while deploying workloads and their resources.
Complex workloads can be modelled as a
resource as done by the portable Wordpress Stack which
automates the lifecycle of a
provisioning and secure connectivity to a managed
Crossplane supports dynamic provisioning of managed Kubernetes clusters from a
single control plane with consistent multi-cluster best-practice configuration
and secure connectivity between target Kubernetes clusters and the managed
services provisioned for applications. Managed Kubernetes clusters can be
dynamically provisioned with a
KubernetesCluster resource as done by the
portable Wordpress Stack which automates the lifecycle of a
The full architecture and vision of the Crossplane project is described in depth in the architecture document. It is the best place to learn more about how Crossplane fits into the Kubernetes ecosystem, the intended use cases, and comparisons to existing projects.