Crossplane logo
Crossplane logo
  • Why Control Planes?
  • Documentation
  • Community
  • Blog
  • Crossplane GitHub
  • Crossplane Slack
Crossplane Documentation -master
Welcome
What's Crossplane?
What's New in v2?
Get Started
Install Crossplane
Get Started With Composition
Get Started With Managed Resources
Get Started With Operations
Composition
Composite Resources
Composite Resource Definitions
Compositions
Composition Revisions
Environment Configs
Managed Resources
Managed Resources
Managed Resource Definitions
Managed Resource Activation Policies
Usages
Operations
Operations
Cron Operations
Watch Operations
Packages
Providers
Functions
Configurations
Image Configs
Guides
Crossplane Pods
Metrics
Function Patch and Transform
Releasing Crossplane Extensions
Write a Composition Function in Go
Write a Composition Function in Python
Disabling Unused Managed Resources
Implementing safe-start in Providers
Troubleshoot Crossplane
Upgrade Crossplane
Upgrade to Crossplane v2
Uninstall Crossplane
CLI Reference
Command Reference
API Reference
Learn More
Release Cycle
Feature Lifecycle
Contributing Guide
Crossplane Roadmap
master
master v2.0-preview v2.0
Latest
v1.20 v1.19

Install Crossplane

On this page
  • Prerequisites
  • Install Crossplane
    • Add the Crossplane Helm repository
    • Install the Crossplane Helm chart
  • Installation options
    • Customize the Crossplane Helm chart
      • Feature flags
      • Change the default package registry
Report a problem
View page source
This document is for an unreleased version of Crossplane.

This document applies to the Crossplane master branch and not to the latest release v2.0.

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

  • An actively supported Kubernetes version
  • Helm version v3.2.0 or later

Install Crossplane

Install Crossplane using the Helm chart.

Add the Crossplane Helm repository

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

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

Update the local Helm chart cache with helm repo update.

1helm repo update 

Install the Crossplane Helm chart

Install the Crossplane 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-stable/crossplane 

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.
Beta--enable-realtime-compositionsEnable support for real time compositions.
Alpha--enable-dependency-version-upgradesEnable automatic version upgrades of dependencies when updating packages.
Alpha--enable-function-response-cacheEnable caching of composition function responses to improve performance.
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"}'.

Crossplane logo
Twitter
Youtube
Podcast
Forum

© Crossplane Authors 2025. Documentation distributed under CC-BY-4.0.

© 2025 The Linux Foundation. All rights reserved. The Linux Foundation has registered trademarks and uses trademarks. For a list of trademarks of The Linux Foundation, please see our Trademark Usage page.

cncfLogo

We are a Cloud Native Computing Foundation incubating project.