CAPX v1.7.x Upgrade Procedure¶
Starting from CAPX v1.3.0, it is required for all CAPX-managed Kubernetes clusters to use the Nutanix Cloud Controller Manager (CCM).
Before upgrading CAPX instances to v1.3.0 or later, it is required to follow the steps detailed below for each of the CAPX-managed Kubernetes clusters that don't use Nutanix CCM.
Steps¶
This procedure uses Cluster Resource Set (CRS) to install Nutanix CCM but it can also be installed using the Nutanix CCM Helm chart.
Warning
Make sure CRS is enabled on the management cluster before following the procedure.
Perform following steps for each of the CAPX-managed Kubernetes clusters that are not configured to use Nutanix CCM:
- Add the
cloud-provider: externalconfiguration in theKubeadmConfigTemplateresources:apiVersion: bootstrap.cluster.x-k8s.io/v1beta1 kind: KubeadmConfigTemplate spec: template: spec: joinConfiguration: nodeRegistration: kubeletExtraArgs: cloud-provider: external - Add the
cloud-provider: externalconfiguration in theKubeadmControlPlaneresource:--- apiVersion: bootstrap.cluster.x-k8s.io/v1beta1 kind: KubeadmConfigTemplate spec: template: spec: joinConfiguration: nodeRegistration: kubeletExtraArgs: cloud-provider: external --- apiVersion: controlplane.cluster.x-k8s.io/v1beta1 kind: KubeadmControlPlane spec: kubeadmConfigSpec: clusterConfiguration: apiServer: extraArgs: cloud-provider: external controllerManager: extraArgs: cloud-provider: external initConfiguration: nodeRegistration: kubeletExtraArgs: cloud-provider: external joinConfiguration: nodeRegistration: kubeletExtraArgs: cloud-provider: external -
Add the Nutanix CCM CRS resources:
Make sure to update each of the variables before applying the
YAMLfiles. -
Add the
ccm: nutanixlabel to theClusterresource:apiVersion: cluster.x-k8s.io/v1beta1 kind: Cluster metadata: labels: ccm: nutanix - Verify if the Nutanix CCM pod is up and running:
kubectl get pod -A -l k8s-app=nutanix-cloud-controller-manager - Trigger a new rollout of the Kubernetes nodes by performing a Kubernetes upgrade or by using
clusterctl alpha rollout restart. See the clusterctl alpha rollout for more information. - Upgrade CAPX to v1.7.0 by following the clusterctl upgrade documentation