All Products
Search
Document Center

Container Service for Kubernetes:Upgrade an edge node

Last Updated:Nov 11, 2024

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: public network.

  • private: Express Connect circuits.

basic

The following output indicates that the node has been upgraded: image

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?