Kubernetes Cluster API infrastructure provider for cloudscale.ch. CAPCS provisions the cloudscale-specific infrastructure — servers, networks, load balancers, floating IPs, server groups — that Cluster API uses to build and manage workload Kubernetes clusters.
New to Cluster API? Read the upstream concepts and quick start first; this project only documents what is cloudscale-specific.
- Managed or pre-existing networks; public or private load balancer VIPs; floating IPs (IPv4/IPv6); anti-affinity server groups
- HA control plane;
MachineDeploymentautoscaling including scale-from-zero via capacity reported onCloudscaleMachineTemplate - ClusterClass support
Currently, CAPCS requires CAPI version >= v1.13.0 and is compatible only with the v1beta2 CRD versions of CAPI.
The cloudscale provider is able to install and manage the versions of Kubernetes supported by the Cluster API (CAPI) project.
- cloudscale.ch account and API token
- A custom OS image imported into your cloudscale.ch project, e.g. built with image-builder for OpenStack
- A management Kubernetes cluster (kind works) and clusterctl
This quickstart assumes you already know how Cluster-API works and have the prerequisites ready to use. For a more detailed introduction, please read our getting started guide.
export CLOUDSCALE_API_TOKEN=<your-api-token>
# initialize the Cluster-API management controllers
clusterctl init --infrastructure cloudscale-ch-cloudscale
# Generate and apply the cluster definition
clusterctl generate cluster my-cluster \
--infrastructure cloudscale-ch-cloudscale --kubernetes-version v1.36.0 \
--control-plane-machine-count 1 --worker-machine-count 2 \
| kubectl apply -f -
# Describe the status of the cluster
clusterctl describe cluster my-clusterThe default template uses a managed network and a public load balancer. Getting Started lists the required environment variables and the other template flavors.
| If you are… | Start here |
|---|---|
| New to Cluster API, or new to CAPCS | Getting Started |
| Looking up a CRD field | kubectl explain cloudscalecluster.spec (or the generated CRDs under config/crd/bases/) |
| Hitting an error | Troubleshooting |
| Contributing to CAPCS | Development, CONTRIBUTING.md |
| Cutting a release | Releasing, Testing releases |
Apache License 2.0