To avoid potential security and stability risks from outdated cluster versions and to access the features in the latest releases, we recommend promptly upgrading your cluster following the version release schedule of the Container Service for Kubernetes (ACK) Edge cluster. Upgrading edge nodes is a crucial part of the cluster upgrade process and requires manual execution. This topic describes the steps to manually upgrade an edge node.
Prerequisites
The control plane of the cluster has been updated. For more information about how to update the cluster control plane, see Upgrade an ACK Edge cluster.
Limits
ACK Edge clusters support upgrades between versions 1.18 to 1.22. To upgrade from version 1.26 to 1.28, submit a ticket to contact the Container Service team. Upgrades to other versions are not supported.
When you upgrade an ACK Edge cluster, you can upgrade from the current Kubernetes version only to the subsequent version. For example, to upgrade the Kubernetes version of an ACK Edge cluster from 1.18 to 1.22, you need to first upgrade to version 1.20, then to version 1.22.
During the upgrade of edge nodes, we recommend that you use a phased upgrade, limiting the process to no more than 20 nodes per batch.
In an ACK Edge cluster, edge nodes and the control plane can differ by at most two minor versions. For example, if the control plane runs Kubernetes version 1.22, the edge nodes must run at least Kubernetes version 1.20. We recommend that you maintain consistent versions between the control plane and edge nodes.
The following steps apply to the edge node upgrades. For information about how to upgrade cloud nodes, see Upgrade an on-cloud node pool.
Procedure
Run the following command on all nodes one at a time in the edge node pool:
export REGION="" INTERCONNECT_MODE="" TARGET_CLUSTER_VERSION=""; export ARCH=$(uname -m | awk '{print ($1 == "x86_64") ? "amd64" : (($1 == "aarch64") ? "arm64" : "amd64")}') INTERNAL=$( [ "$INTERCONNECT_MODE" = "private" ] && echo "-internal" || echo "" ); wget http://aliacs-k8s-${REGION}.oss-${REGION}${INTERNAL}.aliyuncs.com/public/pkg/run/attach/${TARGET_CLUSTER_VERSION}/${ARCH}/edgeadm -O edgeadm; chmod u+x edgeadm;./edgeadm upgrade --interconnect-mode=${INTERCONNECT_MODE} --region=${REGION}
The following table describes the parameters.
Parameter | Description | Example |
TARGET_CLUSTER_VERSION | The new Kubernetes version. Note Set the value to the Kubernetes version of the updated control planes. | 1.22.15-aliyunedge.1 For more information about the Kubernetes versions supported by ACK Edge clusters, see Release notes for Kubernetes versions supported. |
REGION | The region ID of the cluster. | cn-hangzhou For more information about the regions supported by ACK Edge clusters, see Supported regions. |
INTERCONNECT_MODE | The network type of connections to the node.
| basic |
The following output indicates that the node has been upgraded:
FAQ
What do I do if an upgrade to an edge node fails?
After you upgrade an edge node pool, if the message This node has been upgraded successfully
is not returned, troubleshoot the issue by referring to the solutions in What do I do if an edge node fails to be upgraded when I upgrade an ACK Edge cluster?