创建并管理边缘节点池

更新时间:
复制为 MD 格式

当企业需要将本地服务器或边缘计算资源纳入 ACK 集群统一管理,且无法通过专线与阿里云 VPC 连接时,可通过ACK托管集群Pro创建边缘节点池,将已有的本地服务器或边缘计算设备加入集群,在保持统一编排的同时充分利用现有 IT 资产。

准备工作

步骤一:配置组件

  1. 登录容器服务管理控制台,在左侧导航栏选择集群列表

  2. 集群列表页面,单击目标集群名称,然后在左侧导航栏,单击组件管理

  3. 安装控制面组件terway-hybrid-controlplane

    配置项

    说明

    RemoteContainerCIDR

    边缘节点池使用的容器网段,不能与现有Service网段、Pod 网段、云端节点网段、本地IDC节点网段重合。

    RemoteContainerCIDRMaskSize

    为边缘节点池中每个节点划分容器网段掩码大小。例如设置为24时,每个节点都将使用xxx.xxx.xxx.0/24作为容器网段,支持256个 Pod IP。

    是否开启源地址转换

    边缘节点的 Pod 访问集群外部地址时,是否将其源IP地址转换为节点IP地址。

    如选择关闭,请确保外部网络设备可解析 Pod IP。
  4. 安装terway-hybridyurt-hub-controlplaneyurt-coredns-controlplaneraven-controlplane组件,无需配置参数。

  5. 安装raven-agent-ds组件,勾选Raven 组件是否开启代理模式,如果需要设置边缘节点通过公网IP访问集群网络的白名单,请通过accessControlListEntry配置。

  6. 配置kube-apiserver组件,在featureGates中填入EdgeProxyCrossNetDomainAccessToRaven=true

  7. 配置kube-controller-manager组件,在featureGates中填入NodeAutonomyPodProtection=true

步骤二:创建边缘节点池

  1. 登录容器服务管理控制台,在左侧导航栏选择集群列表

  2. 集群列表页面,单击目标集群名称,然后在左侧导航栏,选择节点管理 > 节点池

  3. 节点池 页面,单击创建节点池右侧的... > 创建边缘节点池,配置边缘节点池相关参数:

    • 节点池名称

    • 网络插件

      • 使用 CNI (Terway-Hybrid):专为边缘节点池设计,确保集群内 Pod(处于 IDC 或云端)之间的网络互通。

      • 自行配置 CNI:若需要使用 CNI 插件中的特定功能,ACK 支持使用自定义CNI插件

    • 网络类型

      • Overlay:Terway-HybridOverlay模式,配置简单,对底层网络无特殊要求,部署灵活。

        边缘节点池仅支持Overlay模式。
    • 节点间网络互通:根据该边缘节点池内所有节点是否三层网络互通进行选择,创建节点池后不支持更改。

    • CoreDNS:是否为边缘节点池启用专用 CoreDNS 解析服务(基于集群yurt-coredns-controlplane组件实现)。

  4. 节点池创建完成后,可以在控制台修改节点池部分配置项。

步骤三:添加边缘节点

  1. 集群列表页面,单击目标集群名称,然后在左侧导航栏,选择集群信息

  2. 集群信息页面,单击基本信息页签,单击控制面安全组右侧的ID,放行需要添加的边缘节点的公网 IP。

  3. 将边缘节点添加到节点池,根据是否已经在边缘节点中安装云助手插件,分为两种添加方式:

    1. 添加已有:适用于已注册为阿里云托管实例(已安装云助手)的节点。

      1. 勾选目标节点后单击确定,将节点添加到边缘节点池。

    2. 手动添加:适用于已创建注册码但尚未安装云助手的节点。

      1. 从创建注册码后获取的安装脚本中获取激活码 ID--ActivationId)和激活码 Code--ActivationCode):

        sudo aliyun-service --register --RegionId "******" \
           --ActivationCode "a-******" \
           --ActivationId "CAD3******"
      2. 在控制台上填入激活码 ID激活码 Code,然后单击确定,获取边缘节点池专用安装脚本。

      3. 在节点上批量执行边缘节点池专用安装脚本,在节点上安装云助手并接入边缘节点池。

后续操作

将工作负载调度到边缘节点池

边缘节点池中的节点默认带有以下标签和污点,以避免影响 ACK 集群中的已有业务:

apiVersion: v1
kind: Node
metadata:
  labels:
    alibabacloud.com/nodepool-type: edge
...
spec:
  taints:
  - effect: NoSchedule
    key: nodepool-type
    value: "edge"
...

需要将工作负载调度到边缘节点时,请添加对此污点的容忍:

如果应用部署不需要区分ECS节点和边缘节点,也可以删除该污点。但请勿删除默认标签 alibabacloud.com/nodepool-type: edge,否则会影响产品功能。
apiVersion: apps/v1
kind: Deployment
metadata:
  name: deployment
spec:
  replicas: 1
  selector:
    matchLabels:
      app: deployment
  template:
    metadata:
      labels:
        app: deployment
    spec:
      tolerations: # 容忍边缘节点池污点
        - key: "nodepool-type"
          operator: "Equal"
          value: "edge"
          effect: "NoSchedule"
      ...

移除边缘节点

重要

移除边缘节点仅会将节点从节点池移除,不会取消阿里云托管实例的托管状态。

  1. 集群列表页面,单击目标集群名称,然后在左侧导航栏,选择节点管理 > 节点池

  2. 单击目标边缘节点池名称,选中要删除的节点,在操作列单击image.png > 移除

使用限制

边缘节点池兼容部分操作系统,兼容性列表请参见操作系统兼容性

相关文档

边缘节点池使用的相关组件的介绍与发布记录,请参见: