您可以向已经创建的边缘托管集群中添加工作负载节点,工作负载节点需要能够保证和Kubernetes Apiserver的网络联通。边缘托管集群支持接入云上ECS节点、云上边缘节点服务ENS(Edge Node Service)节点、非云节点等。

前提条件

  • 如果之前没有创建过边缘托管集群,您需要先创建边缘Kubernetes集群。具体步骤,请参见创建边缘托管版集群
  • 如果需要自动添加ENS节点,您需要先创建边缘服务。具体步骤,请参见创建边缘服务

使用限制

  • 边缘集群托管服务在公测期间,每个集群中最多可包含40个节点。如果您需要添加更多节点,请提交工单申请。
  • 自动添加ENS节点,仅支持资源配置2核4 GB以上,操作系统为CentOS 7.4或7.6,且状态为Running的节点。
  • 当您选择手动接入节点时,支持接入的节点操作系统列表如下。
    系统架构 系统版本 系统内核版本 边缘Kubernetes集群版本
    AMD64 CentOS 7.4 3.10.X ≥1.12.6-aliyunedge.1
    AMD64 CentOS 7.6 3.10.X ≥1.12.6-aliyunedge.1
    AMD64 CentOS 8.0 4.18.X ≥1.18.8-aliyunedge.1
    AMD64 Ubuntu 18.04 4.15.X ≥1.12.6-aliyunedge.1
    AMD64 Ubuntu 18.04 5.4.X ≥1.16.9-aliyunedge.1
    AMD64 Ubuntu 20.04 5.4.X ≥1.18.8-aliyunedge.1
    ARM64 CentOS 8.0 4.19.X ≥1.14.8-aliyunedge.1
    ARM64 Ubuntu 18.04 4.9.X ≥1.14.8-aliyunedge.1
    ARM64 Ubuntu 18.04 4.19.X ≥1.14.8-aliyunedge.1
    ARM CentOS 7.7 4.19.X ≥1.14.8-aliyunedge.1

添加节点

  1. 登录容器服务管理控制台
  2. 添加已有节点。您可以通过以下两个入口进行操作。
    • 入口一:
      1. 在控制台左侧导航栏中,单击集群
      2. 选择目标并单击右侧操作列下的更多 > 添加已有节点
    • 入口二:
      1. 在控制台左侧导航栏中,单击集群
      2. 集群列表页面中,单击目标集群名称或者目标集群右侧操作列下的详情
      3. 在集群管理页左侧导航栏中,选择节点管理 > 节点
      4. 在Kubernetes菜单下,单击左侧导航栏中的集群 > 节点,进入Kubernetes节点列表页面。
      5. 单击右上角的添加已有节点
  3. 进入添加节点页面,您可以选择自动添加手动添加的方式,添加现有实例。
    • 您可选择自动添加的方式,您可以一次性添加多个ENS实例。
      说明 目前自动添加的方式仅支持添加云上ENS节点。
      1. 选择自动添加,在已有ENS实例的列表中,选择所需的ENS实例,然后单击下一步自动添加
      2. 确认实例信息无误后,单击下一步
      3. 在弹出的对话框中,单击确定,进入添加完成页面。
      单击 去集群列表查看,您可以在集群列表中看到ENS实例已添加到该集群中。
      说明 ENS实例成功加入集群需要大概2分钟。
    • 选择手动添加的方式。
      说明 目前手动添加的方式支持添加云上ECS节点,云上ENS节点和非云节点。
      1. 选择手动添加,然后单击下一步manual
      2. 进入实例信息页面,您可以填写节点接入配置,具体的配置参数,请参见参数列表
        说明 脚本有效时间的默认值是1小时,如果您需要长时间使用同一个脚本做批量添加,可以适当增加脚本的有效时间。当 脚本有效时间配置为0小时时,表示脚本永久有效。
      3. 配置完成后单击下一步
      4. 进入添加完成页面,单击复制后,到您的边缘节点上粘贴并执行该脚本。
        添加边缘节点成功的结果如下图所示。 添加成功

参数列表

参数 参数说明 默认值
flannelIface Flannel使用的网卡名。 节点默认路由的网卡名
enableIptables 是否开启iptables false
quiet 假设所有的问题回答自动回复yes false
manageRuntime 是否由接入工具安装并检测Runtime。 false
nodeNameOverride 设置节点名。
  • ""(默认值,表示使用主机名)
  • "*"(表示随机生成6位的字符串)
  • "*.XXX"(表示随机生成6位字符串+XXX后缀)
allowedClusterAddons 需要安装的组件列表。默认为空,不安装。普通节点需要配置为["kube-proxy","flannel","coredns"]。 []
gpuVersion 表示要接入的节点是否为GPU节点,默认为空。当前支持的GPU版本是Nvidia_Tesla_T4,Nvidia_Tesla_P4,Nvidia_Tesla_P100。 ""(默认值,表示不作为GPU节点接入)
inDedicatedNetwork 表示是否通过专线接入边缘托管集群。 false
labels 表示接入时节点要加的标签。 {}
annotations 表示接入时给节点加的注解。 {}
nodeIface 该参数有两个作用:
  • kubelet从指定的网络接口获取节点IP信息。如果没有指定这个参数,kubelet将按如下顺序获取节点IP。
    • /etc/hosts中寻找与主机名同名的记录。
    • 默认路由所在的网络接口的IP地址。
  • 表示Flannel使用的网卡名,这里与参数flannelIface同义,后续flannelIface会用这个参数替代。
""