升级边缘节点

更新时间:2025-03-28 08:20:32

为避免过期版本集群潜在的安全和稳定性风险,同时体验新版本集群的功能,建议您按照ACK Edge集群的版本发布流程及时升级集群。边缘节点升级是集群升级的一部分,您需要登录到边缘节点手动执行此步骤。本文介绍如何升级边缘节点。

前提条件

升级边缘节点池之前须保证控制面已升级完成。升级集群控制面相关操作,请参见升级集群

注意事项

  • ACK Edge集群支持的升级范围为1.181.24版本。若您升级范围为1.261.30版本,请提交工单联系容器服务团队。其余版本暂不支持升级。

  • 只能按照支持的版本依次升级,不支持跨版本升级。例如,从1.18版本升级到1.22版本,需要进行两次升级操作,先从1.18升级到1.20版本,再从1.20升级到1.22版本。

  • 升级边缘节点过程中,建议采用灰度升级的策略,控制单个批次不超过20个节点。

  • 边缘节点和控制面最多只能相差两个次要版本,例如控制面为1.22版本,边缘节点最低是1.20版本。建议控制面和节点侧的版本保持一致。

  • 后续步骤只适用于边缘节点升级,云端节点升级请参见升级云端节点池

操作步骤

含Docker运行时迁移的升级
不含Docker运行时迁移的升级

升级ACK Edge集群1.24版本,若其中包含使用Docker运行时的节点时,您需要将容器运行时从Docker迁移到containerd因为1.24版本的Kubernetes已经不支持Docker运行时。您可以通过以下任一方式完成升级操作。

  • (推荐)新建containerd节点池轮转迁移:新建一个节点池,运行时选择containerd,扩容节点。通过设置老节点池禁止调度或者更新应用负载指定节点池调度的方式(例如Label),逐步将应用全部迁移至新的节点池,再将旧节点池进行下线处理。关于如何创建节点池,请参见边缘节点池管理;关于如何将节点设置为不可调度,请参见节点排水和调度状态

  • 原地升级:直接将节点上的运行时从containerd切换到Docker,在升级前也要进行节点排水,另外升级会导致节点上所有容器重启。

    1. 节点排水。

    2. 在待升级边缘节点池下的所有边缘节点上,依次执行如下命令,完成所有边缘节点的升级。

       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}

      参数说明如下:

      参数

      说明

      示例值

      TARGET_CLUSTER_VERSION

      指定要升级到的目标集群版本。

      说明

      升级的目标集群版本就是控制面升级完成后的版本。

      1.24.6-aliyunedge.1

      ACK Edge集群发布的版本和具体版本号,请参见版本发布说明

      REGION

      指定集群所在地域的Region ID。

      cn-hangzhou

      ACK Edge集群支持的地域及其Region ID,请参见开服地域

      INTERCONNECT_MODE

      指定节点接入的网络类型。

      • basic:公网接入。

      • private:专线接入。

      basic

      返回如下执行结果,则说明当前边缘节点升级成功。image

在待升级边缘节点池下的所有边缘节点上,依次执行如下命令,完成所有边缘节点的升级。

 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}

参数说明如下:

参数

说明

示例值

TARGET_CLUSTER_VERSION

指定要升级到的目标集群版本。

说明

升级的目标集群版本就是控制面升级完成后的版本。

1.24.6-aliyunedge.1

ACK Edge集群发布的版本和具体版本号,请参见版本发布说明

REGION

指定集群所在地域的Region ID。

cn-hangzhou

ACK Edge集群支持的地域及其Region ID,请参见开服地域

INTERCONNECT_MODE

指定节点接入的网络类型。

  • basic:公网接入。

  • private:专线接入。

basic

返回如下执行结果,则说明当前边缘节点升级成功。image

常见问题

边缘节点升级失败如何处理?

升级边缘节点池时,若未返回升级成功结果This node has been upgraded successfully,请参见如何处理边缘节点升级失败的问题?排查原因。

相关文档

  • 如果您需要移除不使用的边缘节点,请参见移除边缘节点

  • 如果您需要实现边缘节点的自主管理,请参见设置边缘节点自治。配置后,当云边网络断开时,边缘节点上的业务仍然可以持续稳定地运行。

  • 本页导读 (1)
  • 前提条件
  • 注意事项
  • 操作步骤
  • 常见问题
  • 边缘节点升级失败如何处理?
  • 相关文档
AI助理

点击开启售前

在线咨询服务

你好,我是AI助理

可以解答问题、推荐解决方案等