Skip to main content

How it works

Running Crossplane in a cluster consists of two main parts:

  1. The Crossplane controller which provides the core components
  2. One or more Crossplane providers which each provide a controller and Custom Resource Definitions to integrate with a particular provider, such as AWS

The Crossplane controller and the AWS provider have been pre-installed in our EKS cluster, each running as a deployment in the crossplane-system namespace along with the crossplane-rbac-manager:

~$kubectl get deployment -n crossplane-system

These controllers will collaborate to watch for Kubernetes custom resources for AWS such as rds.aws.crossplane.io.DBInstance and will make API calls to the AWS API based on the configuration in those resources created. As resources are created the controller will feed back status updates to the custom resources in the Status fields.