Getting Started
Based on the Get started docs and the Helm chart under
cluster/. Commands assume a running Kubernetes cluster and a workingkubectlandhelm.
Prerequisites
- A Kubernetes cluster (a local
kindcluster works). kubectlconfigured against that cluster.helmv3.
Install
helm repo add crossplane-stable https://charts.crossplane.io/stable
helm repo update
helm install crossplane crossplane-stable/crossplane \
--namespace crossplane-system --create-namespaceA first working setup
The minimal working setup is a cluster with Crossplane core, a provider or function, an XRD, a Composition, and an XR. The shortest loop to confirm the engine works is to render a pipeline locally with the CLI, which needs no cloud credentials.
Confirm the Crossplane pods are running.
bashkubectl get pods -n crossplane-systemApply an XRD and a Composition that defines your API and maps it to a function pipeline, then create an XR of that type. The Composition's
spec.pipelineis a list ofPipelineStepentries, each referencing a function.Preview the pipeline locally before applying, using the CLI. This runs the same function pipeline the reconciler runs and prints the resources it would produce.
bashcrossplane render xr.yaml composition.yaml functions.yaml
In v2 a composition can produce any Kubernetes resource, not only Crossplane managed resources, so the composed output can include objects like a Deployment or a database operator's Cluster.
Verify it works
Check that the Crossplane deployment is available and that any installed packages are healthy.
kubectl get pods -n crossplane-system
kubectl get providers,functions,configurationsA healthy package reports INSTALLED and HEALTHY as True. After applying an XR, inspect it with kubectl get on its type and check its status conditions for Synced and Ready.
Where to go next
For production concerns such as provider configuration, RBAC, package signing through xpkg.crossplane.io, and operations, see the official documentation and What's New in v2.