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

前提条件

使用限制

  • 请确保您的集群可添加足够的节点数。如果您需要添加更多节点,请提交工单申请扩大配额。关于边缘集群的配额限制,请参见使用限制
  • 自动添加ENS节点,仅支持资源配置2核4 GB以上,操作系统为CentOS 7.4或7.6,且状态为Running的节点。
  • 当您选择手动接入节点时,支持接入的节点操作系统列表如下。
    系统架构 系统版本 系统内核版本 边缘Kubernetes集群版本
    AMD64/X86_64 CentOS 7.4、CentOS 7.5、CentOS 7.6、CentOS 7.7、CentOS 7.8、CentOS 7.9 3.10.X ≥1.12.6-aliyunedge.1
    AMD64/X86_64 CentOS 8.0、CentOS 8.2 4.18.X ≥1.18.8-aliyunedge.1
    AMD64/X86_64 Ubuntu 16.04 4.4.X ≥1.18.8-aliyunedge.1
    AMD64/X86_64 Ubuntu 18.04 4.15.X ≥1.12.6-aliyunedge.1
    AMD64/X86_64 Ubuntu 18.04 5.4.X ≥1.16.9-aliyunedge.1
    AMD64/X86_64 Ubuntu 18.04 5.11.X ≥1.18.8-aliyunedge.1
    AMD64/X86_64 Ubuntu 20.04 5.4.X ≥1.18.8-aliyunedge.1
    AMD64/X86_64 AliyunLinux 2.1903 4.19.X ≥1.20.11-aliyunedge.1
    AMD64/X86_64 AliyunLinux 3 5.10.X ≥1.20.11-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

添加节点

  1. 登录容器服务管理控制台,在左侧导航栏中选择集群
  2. 集群列表页面中,单击目标集群名称,然后在左侧导航栏中,选择节点管理 > 节点池
  3. 节点池页面,选择目标节点池右侧操作列的更多 > 添加已有节点
  4. 进入添加节点页面,您可以选择自动添加手动添加的方式,添加现有实例。
    • 您可选择自动添加的方式,您可以一次性添加多个ENS实例。
      说明 目前自动添加的方式仅支持添加云上ENS节点。
      1. 选择自动添加,在已有ENS实例的列表中,选择所需的ENS实例,然后单击下一步自动添加
      2. 确认实例信息无误后,单击下一步
      3. 在弹出的对话框中,单击确定,进入添加完成页面。
      单击去集群列表查看,您可以在集群列表中看到ENS实例已添加到该集群中。
      说明 ENS实例成功加入集群需要大概3分钟。
    • 选择手动添加的方式。
      说明 目前手动添加的方式支持添加云上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,Nvidia_Tesla_V100,Nvidia_Tesla_A100。 ""(默认值,表示不作为GPU节点接入) ✔️
inDedicatedNetwork 表示是否通过专线接入边缘容器集群。 false ✔️
labels 表示接入时节点要加的标签。 {} ✔️ ✔️
annotations 表示接入时给节点加的注解。 {} ✔️ ✔️
nodeIface 该参数有两个作用:
  • kubelet从指定的网络接口获取节点IP信息。如果没有指定这个参数,kubelet将按如下顺序获取节点IP。
    • /etc/hosts中寻找与主机名同名的记录。
    • 默认路由所在的网络接口的IP地址。
  • 表示Flannel使用的网卡名,这里与参数flannelIface同义,后续flannelIface会用这个参数替代。
"" ✔️
isLightWeight 表示是否通过轻量化方式接入节点。 默认值false,表示使用标准接入。需根据右侧标准接入支持的参数进行配置。

若设置为true,表示通过轻量化方式接入,需根据右侧轻量化接入支持的参数进行配置。

✔️

添加节点时需要访问的公网地址列表

访问地址 说明
cs-anony.aliyuncs.com
aliacs-k8s-{{region}}.oss-{{region}}.aliyuncs.com {{region}}表示边缘容器集群所在的Region Id(如cn-hangzhou)。
API Server公网连接端点 通过集群基本信息页签查看。
tunnel-server的公网SLB地址 集群Service资源的公网地址kube-system/x-tunnel-server-svc
ntp1.aliyun.com cn.ntp.org.cn
dockerauth-{{region}}.aliyuncs.com {{region}}表示边缘容器集群所在的Region Id(如cn-hangzhou)。
aliregistry-{{region}}.oss-{{region}}.aliyuncs.com {{region}}表示边缘容器集群所在的Region Id(如cn-hangzhou)。
registry.{{region}}.aliyuncs.com {{region}}表示边缘容器集群所在的Region Id(如cn-hangzhou)。
系统工具在线安装:net-tools、iproute、chrony(或者ntpdate)、crontabs、pciutils、socat、ebtables、iptables、conntrack-tools
  • 检测待添加节点是否已安装系统工具,如果没有,会在线安装。
  • 如果是Ubuntu系统,则采用apt-get安装;如果是CentOS系统,则采用yum安装。