2.8 KiB
Create your cluster
Creating your cluster requires two steps:
- Creating the necessary resources in your cloud environment
- Bootstrapping the Constellation cluster and setting up a connection
See the architecture section for details on the inner workings of this process.
The create step
This step creates the necessary resources for your cluster in your cloud environment.
Prerequisites
Before creating your cluster you need to decide on
- the size of your cluster (the number of control-plane and worker nodes)
- the machine type of your nodes (depending on the availability in your cloud environment)
- whether to enable autoscaling for your cluster (automatically adding and removing nodes depending on resource demands)
You can find the currently supported machine types for your cloud environment in the installation guide.
Configuration
Constellation can generate a configuration file for your cloud provider:
constellation config generate azure
constellation config generate gcp
This creates the file constellation-conf.yaml
in the current directory. You must edit it before you can execute the next steps. See the reference section for details.
Next, download the latest trusted measurements for your configured image.
constellation config fetch-measurements
For more details, see the verification section.
Create
The following command creates a cluster with one control-plane and two worker nodes:
constellation create azure --control-plane-nodes 1 --worker-nodes 2 --instance-type Standard_D4a_v4 -y
constellation create gcp --control-plane-nodes 1 --worker-nodes 2 --instance-type n2d-standard-2 -y
For details on the flags and a list of supported instance types, consult the command help via constellation create -h
.
create will store your cluster's configuration to a file named constellation-state.json
in your current directory.
The init step
This step bootstraps your cluster and configures your Kubernetes client.
Init
The following command initializes and bootstraps your cluster:
constellation init
To enable autoscaling in your cluster, add the --autoscale
flag:
constellation init --autoscale
Next, configure kubectl for your Constellation cluster:
export KUBECONFIG="$PWD/constellation-admin.conf"
kubectl get nodes -o wide
That's it. You've successfully created a Constellation cluster.