Upgrading the providers of a management cluster¶
In this guide we will go through the process of upgrading providers of a management cluster.
Prerequisites¶
We assume we already have a management cluster and the infrastructure provider configured as described in the Cluster provisioning with CAPI and Canonical Kubernetes tutorial. The selected infrastructure provider is AWS. We have not yet called clusterctl init
to initialise the cluster.
Initialise the cluster¶
To demonstrate the steps of upgrading the management cluster, we will begin by initialising a desired version of the Canonical Kubernetes CAPI providers.
To set the version of the providers to be installed we use the following notation:
clusterctl init --bootstrap ck8s:v0.1.2 --control-plane ck8s:v0.1.2 --infrastructure <infra-provider-of-choice>
Check for updates¶
With clusterctl
we can check if there are any new versions of the running providers:
clusterctl upgrade plan
The output shows the existing version of each provider as well as the version that we can upgrade into:
NAME NAMESPACE TYPE CURRENT VERSION NEXT VERSION
bootstrap-ck8s cabpck-system BootstrapProvider v0.1.2 v0.2.0
control-plane-ck8s cacpck-system ControlPlaneProvider v0.1.2 v0.2.0
cluster-api capi-system CoreProvider v1.8.1 Already up to date
infrastructure-aws capa-system InfrastructureProvider v2.6.1 Already up to date
Trigger providers upgrade¶
To apply the upgrade plan recommended by clusterctl upgrade plan
, simply:
clusterctl upgrade apply --contract v1beta1
To upgrade each provider one by one, issue:
clusterctl upgrade apply --bootstrap cabpck-system/ck8s:v0.2.0
clusterctl upgrade apply --control-plane cacpck-system/ck8s:v0.2.0