This document is for a preview version of Crossplane.

This document applies to Crossplane v2.0-preview and not to the latest release v1.19.

Don't use Crossplane v2.0-preview in production.

Crossplane installs into an existing Kubernetes cluster, creating the Crossplane pod.

Installing Crossplane enables the installation of Crossplane Provider, Function, and Configuration resources.

Tip
If you don’t have a Kubernetes cluster create one locally with Kind.

Prerequisites

Install Crossplane

Install Crossplane using the Helm chart.

Add the Crossplane Preview Helm repository

Add the Crossplane preview repository with the helm repo add command.

1helm repo add crossplane-preview https://charts.crossplane.io/preview

Update the local Helm chart cache with helm repo update.

1helm repo update

Install the Crossplane Preview Helm chart

Install the Crossplane Preview Helm chart with helm install.

Tip
View the changes Crossplane makes to your cluster with the helm install --dry-run --debug options. Helm shows what configurations it applies without making changes to the Kubernetes cluster.

Crossplane creates and installs into the crossplane-system namespace.

1helm install crossplane \
2--namespace crossplane-system \
3--create-namespace crossplane-preview/crossplane \
4--version v2.0.0-preview.1

View the installed Crossplane pods with kubectl get pods -n crossplane-system.

1kubectl get pods -n crossplane-system
2NAME                                       READY   STATUS    RESTARTS   AGE
3crossplane-6d67f8cd9d-g2gjw                1/1     Running   0          26m
4crossplane-rbac-manager-86d9b5cf9f-2vc4s   1/1     Running   0          26m

Installation options

Customize the Crossplane Helm chart

Crossplane supports customizations at install time by configuring the Helm chart.

Read the Helm chart README to learn what customizations are available.

Read the Helm documentation to learn how to run Helm with custom options using --set or values.yaml.

Feature flags

Crossplane introduces new features behind feature flags. By default alpha features are off. Crossplane enables beta features by default. To enable a feature flag, set the args value in the Helm chart. Available feature flags can be directly found by running crossplane core start --help, or by looking at the table below.

StatusFlagDescription
Beta--enable-deployment-runtime-configsEnable support for DeploymentRuntimeConfigs.
Beta--enable-usagesEnable support for Usages.
Alpha--enable-realtime-compositionsEnable support for real time compositions.
Alpha--enable-dependency-version-upgradesEnable automatic version upgrades of dependencies when updating packages.
Alpha--enable-signature-verificationEnable support for package signature verification via ImageConfig API.

Set these flags either in the values.yaml file or at install time using the --set flag, for example: --set args='{"--enable-composition-functions","--enable-composition-webhook-schema-validation"}'.

Change the default package registry

Beginning with Crossplane version 1.20.0 Crossplane uses the crossplane-contrib GitHub Container Registry at xpkg.crossplane.io by default for downloading and installing packages.

Change the default registry location during the Crossplane install with --set args='{"--registry=index.docker.io"}'.