This quickstart guides you through how to create your first managed control plane in Upbound. A managed control plane is an instance of Crossplane that’s hosted and managed for you by Upbound. Learn how to configure your managed control plane and use it to invoke and manage a set of resources.
Prerequisites
You need the following:
- An Upbound account.
- The up CLI installed on your machine.
Get started
After you register your Upbound account and create an organization, walk through the interactive “Get Started” demo below.
Connect to your managed control plane
Use the up
CLI to grab the connection details for your managed control plane. First, login to Upbound:
up login --account=${yourOrganization}
After you login, connect directly to your control plane with the up ctx
command:
up ctx ${yourOrganization}/${yourSpace}/default/${yourControlPlane}
This command sets an upbound
kubecontext in your kubeconfig. You’re ready to use up
or kubectl
to interact with your managed control plane.
Install the getting started configuration
When you create a new managed control plane, Upbound provides you with a fully isolated instance of Crossplane. Configure your control plane by installing packages to extend its capabilities, like to create and manage the lifecycle of new types of infrastructure resources.
Upbound recommends installing Crossplane Configurations, a package type that extends the capabilities of your control plane. For this quickstart, install configuration-getting-started using the up
CLI:
cat <<EOF | kubectl apply -f -
apiVersion: pkg.crossplane.io/v1
kind: Configuration
metadata:
name: configuration-getting-started
spec:
package: xpkg.upbound.io/upbound/configuration-getting-started:v0.3.0
EOF
Create and manage resources with your control plane
When you install a configuration, the new API types it defines become available on your control plane. Create one of these resource types by applying a claim to your control plane using your terminal:
cat <<EOF | kubectl apply -f -
apiVersion: platform.acme.co/v1alpha1
kind: Network
metadata:
name: my-network-resource
namespace: default
spec:
parameters:
autoCreateSubnetworks: true
EOF
In the Console, select the corresponding Network
resource type on your control plane and observe the claim you created now shows up. Select the claim resource and observe how you can use the control plane explorer to inspect the resources your control plane is now managing. After the resource creates and your control plane actively manages it, it’s health status turns green.
Explaining what just happened
As a control plane, Crossplane can manage anything. To manage something, Crossplane depends on providers, another core package type in Crossplane. They contain the basic building blocks that contain representations for things to Crossplane. You didn’t need to install a provider directly because Crossplane contains a package manager. When given a Configuration, Crossplane’s package manager resolve its dependencies automatically for you.
The configuration you installed, configuration-getting-started
, depends on a provider called provider-nop
, a stub provider that defines a fake resource. When you created your first resource in the previous section, provider-nop created a fake resource inside your control plane. But the process is almost identical if you want to use Crossplane to manage real cloud resources in AWS, Azure, GCP, and more.
Create multiple resources at once via an abstraction
One of Crossplane’s superpowers is its ability to define a resource abstraction that composes multiple resources at once. Apply a new claim to your control plane, this time for a CompositeCluster
resource. This resource is an abstraction that composes a cluster, node pool, network, sub-network, and service account all at once.
cat <<EOF | kubectl apply -f -
apiVersion: platform.acme.co/v1alpha1
kind: CompositeCluster
metadata:
name: my-cluster
namespace: default
spec:
parameters:
location: us-east-1
nodeCount: 3
size: small
EOF
In the Console, select the corresponding CompositeCluster
resource type on your control plane and observe the claim you created now shows up. Select the claim and use the Graph
button to view and inspect the relationship between the resources.
Next steps
To learn more about the core concepts of Upbound, read the managed control planes documentation.