Upgrading Kubernetes on Huawei DCS
This guide explains how to complete Phase 2 of the upgrade workflow for clusters on Huawei DCS. Before you upgrade Kubernetes, complete the Distribution Version upgrade described in Upgrading Clusters.
TOC
Upgrade SequencePrerequisitesUsing YAMLUpgrade Control Plane InfrastructureProcedureUpgrade Control Plane Kubernetes VersionProcedureUpgrade Worker NodesProcedureUsing the Web UIPrerequisitesUpgrade WorkflowChecking Available UpgradesUpgrade the Control Plane Node PoolUpgrade Worker Node PoolsCross-Version UpgradesTroubleshootingAdditional ResourcesUpgrade Sequence
Upgrade DCS clusters in the following order:
- Upgrade the Distribution Version (Aligned Extensions). See Upgrading Distribution Version.
- Upgrade the control plane Kubernetes version.
- Upgrade worker nodes to the target Kubernetes version.
Cluster API orchestrates rolling updates with built-in safety mechanisms to reduce service disruption.
Prerequisites
Before you start, ensure all of the following prerequisites are met:
- The Distribution Version upgrade is complete
- The control plane is reachable
- All nodes are healthy and in Ready state
- The IP Pool has sufficient capacity for rolling updates
- The VM template supports the target Kubernetes version. See OS Support Matrix for version mapping
- The target Kubernetes version is compatible with your workloads and add-ons
Data Loss During Upgrades
Upgrades rely on Cluster API's rolling update mechanism. During a rolling update on DCS, data disks are detached from old VMs and reattached to new VMs. Ensure that no cluster functionality or workloads depend on data stored on the system disk.
Using YAML
YAML-based upgrades do not depend on Fleet Essentials.
Upgrade Control Plane Infrastructure
Upgrading the control plane machine template lets you roll out updated VM specifications, system patches, and infrastructure settings.
Procedure
-
Create an updated machine template
Copy the existing
DCSMachineTemplatereferenced byKubeadmControlPlaneand save it as a new file: -
Modify the template specifications
Update the new template as needed:
- Set
metadata.nameto<new-template-name> - Update
spec.template.spec.vmTemplateName - Update
spec.template.spec.vmConfig.dcsMachineCpuSpec.quantity - Update
spec.template.spec.vmConfig.dcsMachineMemorySpec.quantity - Update
spec.template.spec.vmConfig.dcsMachineDiskSpec
- Set
-
Apply the updated template
-
Update the control plane reference
Modify the
KubeadmControlPlaneresource to reference the new template: -
Monitor the rolling update
Upgrade Control Plane Kubernetes Version
Upgrading the control plane Kubernetes version requires both a compatible VM template and an updated KubeadmControlPlane version.
Procedure
-
Prepare a compatible VM template
Ensure the referenced
DCSMachineTemplateuses avmTemplateNamethat matches the target Kubernetes version. -
Update the control plane version
Modify
spec.versionin theKubeadmControlPlaneresource. Optionally update related rollout settings or the referenced infrastructure template at the same time to match your upgrade policy. -
Monitor the upgrade
Upgrade Worker Nodes
Worker node Kubernetes upgrades are managed through MachineDeployment resources.
Procedure
-
Create an updated machine template
- Create a new
DCSMachineTemplatewith avmTemplateNamethat supports the target Kubernetes version - Ensure the VM template includes the correct Kubernetes binaries and dependencies
- Create a new
-
Update the MachineDeployment
- Update
spec.template.spec.versionto the target Kubernetes version - Update
spec.template.spec.infrastructureRef.nameto reference the new machine template - Optionally update
spec.template.spec.bootstrap.configRef.nameif bootstrap configuration changes are required
- Update
-
Monitor the rolling update
- Verify that the rolling update completes successfully
- Verify that the new worker nodes join the cluster with the target Kubernetes version
Using the Web UI
Use this workflow to upgrade Kubernetes from the web UI after Phase 1 is complete.
Version requirement: This workflow requires Fleet Essentials and Alauda Container Platform DCS Infrastructure Provider 1.0.13 or later. If the provider version is earlier than 1.0.13, use YAML manifests.
Prerequisites
- The Distribution Version upgrade is complete. See Upgrading Distribution Version
- The Control Plane Node Pool is in Running state
- The IP Pool has sufficient capacity for rolling updates
Upgrade Workflow
Kubernetes upgrades follow this sequence after the Distribution Version upgrade:
- Upgrade the Control Plane Node Pool.
- Wait for the Control Plane Node Pool upgrade to complete.
- Upgrade Worker Node Pools in any order.
Checking Available Upgrades
Navigation: Clusters → Clusters → Select cluster → Node Pools Tab
Node Pools with available upgrades show Upgrade available indicator. Click on the Node Pool card to view Current vs Target versions.
Upgrade the Control Plane Node Pool
Steps:
- In the Node Pools Tab, locate the Control Plane Node Pool
- Click Upgrade
- Review upgrade information:
- Current Version: Current Kubernetes version
- Target Version: Latest minor version supported (automatically selected)
- Click Confirm to start
Monitoring:
- Watch the Node Pool status
- Nodes will roll update one by one (maxSurge=0, maxUnavailable=1)
- Upgrade time depends on node count and resources
Upgrade Worker Node Pools
Worker Node Pools cannot be upgraded until the Control Plane Node Pool upgrade completes.
When Worker Pool Upgrade is Available:
- Control Plane Kubernetes Version matches global cluster version
- Control Plane is in Running state
Upgrade Steps:
- For each Worker Node Pool:
- Click Upgrade button
- Review and confirm
- Pools can be upgraded in parallel after Control Plane completes
Upgrade Constraints:
Cross-Version Upgrades
When upgrading across multiple minor versions (for example, v1.32 → v1.34):
- Upgrade Control Plane to v1.33
- Wait for completion
- Upgrade Control Plane to v1.34
- Repeat for Worker Pools
Why: Kubernetes only supports single minor version upgrades.