Crossplane is an open source control plane that allows you to manage applications and infrastructure the Kubernetes way. It provides the following features:
- Deployment and management of cloud provider managed services using the Kubernetes API.
- Management and scheduling of configuration data across multiple Kubernetes clusters.
- Separation of concern between infrastructure owners, application owners, and developers.
- Infrastructure agnostic packaging of applications and their dependencies.
- Scheduling applications into different clusters, zones, and regions.
Crossplane does not:
- Require that you run your workloads on Kubernetes.
- Manage the data plane across Kubernetes clusters.
- Manage or provision non-hosted Kubernetes clusters.
Crossplane can be installed into any Kubernetes cluster, and is compatible with any Kubernetes-native project. It manages external services by installing Custom Resource Definitions (CRDs) and reconciling instances of those Custom Resources. Crossplane is built to be extensible, meaning that anyone can add functionality for an new or existing cloud provider.
Crossplane is comprised of four main components:
- Core Crossplane: the set of Kubernetes CRDs and controllers that manage
installation of
providers
,stacks
, andapplications
, as well as the scheduling of configuration data to remote Kubernetes clusters. - Providers: the set of Kubernetes CRDs and controllers that provision and
manage services on cloud providers. A cloud provider is any service that
exposes infrastructure via an API.
- Examples: Google Cloud Platform, Amazon Web Services, Azure, Alibaba, Github
- Stacks: a bundled set of custom resources that together represent an
environment on a cloud provider. The bundle of instances can be created by a
single custom resource.
- Examples: Stack Minimal GCP, Stack Minimal AWS, Stack Minimal Azure
- Applications: a deployable unit of code and configuration, which, when
created, may involve provisioning new services which are managed by a
provider
, or consuming services created by astack
.- Examples: Wordpress
The full vision and architecture of the Crossplane project is described in our architecture document.
For more information, take a look at the official Crossplane documentation.
- Discuss Crossplane on Slack or our developer mailing list.
- Follow us on Twitter, or contact us via Email.
- Join our regular community meetings.
The Crossplane community meeting takes place every other Tuesday at 9:00am Pacific Time. Anyone who wants to discuss the direction of the project, design and implementation reviews, or raise general questions with the broader community is encouraged to join.
- Meeting link: https://zoom.us/j/425148449
- Current agenda and past meeting notes
- Past meeting recordings
Crossplane is a community driven project; we welcome your contribution. To file a bug, suggest an improvement, or request a new feature please open an issue against Crossplane or the relevant stack. Refer to our contributing guide for more information on how you can help.
Crossplane is under the Apache 2.0 license.