您可以通过ACK控制台将已有的ECS实例添加到已创建的Kubernetes集群中,目前仅支持添加Worker节点。本文介绍自动添加节点和手动添加节点两种方式。

前提条件

使用限制

  • 请确保您的集群可添加足够的节点数。如果您需要添加更多节点,请提交工单申请扩大配额。关于ACK集群的配额限制,请参见使用限制
  • 添加的云服务器必须与集群在同一地域同一VPC下。
  • ACK仅支持添加同一账号下云服务器。
  • ACK支持添加以下操作系统的节点:
    • Alibaba Cloud Linux 2
    • CentOS 7.x
      说明 暂不支持CentOS 8.x及以上的操作系统。
    • Windows Server 2019和Windows Server Core, version 1809及以上

添加实例限制

安全组数量限制

当添加已有实例到节点池时,会将实例加入到节点池安全组中,对于实例已经加入的安全组不会重复加入。由于ECS实例能够加入的安全组有一定的限制,因此需要保证实例加入节点池后实例所加入的安全组数量小于其限制。关于云服务器ECS的使用限制,请参见使用限制

安全组规则限制

安全组是一种虚拟防火墙,用于控制安全组内ECS实例的入流量和出流量,从而提高ECS实例的安全性。

安全组分为普通安全组、企业安全组和托管安全组,其中托管安全组由云产品创建,且只有创建托管安全组的云产品才有对其规则更改的权限,因此创建节点池时应避免选择托管安全组,否则会造成创建节点池失败。普通安全组和企业安全组的详情和区别如下表所示:
功能 普通安全组 企业安全组
未添加任何规则时的访问策略
  • 入方向:拒绝所有访问请求
  • 出方向:允许所有访问请求
  • 入方向:拒绝所有访问请求
  • 出方向:拒绝所有访问请求
能容纳的私网IP地址数量 2000 65536
同一个安全组内实例之间的网络连通策略 默认内网互通 默认内网隔离,需要您手动添加安全组规则
授权给其他安全组 支持组组授权 不支持组组授权

创建节点池时,会为节点池安全组默认添加规则,用于集群内的通信。关于如何配置普通安全组和企业安全组的集群访问规则,请参见最小化集群访问规则

添加实例到安全组时,需要注意实例已有的安全组规则不应与以下安全组规则冲突,否则将导致Pod之间无法通信:
  • Pod网络CIDR
  • VPC的附加IPv4网段

自动添加节点

自动添加节点方式会列出当前账号下可用的ECS云服务器,在Web界面进行安装部署,并自动添加到集群。

  1. 登录容器服务管理控制台
  2. 在控制台左侧导航栏中,单击集群
  3. 集群列表页面中,单击目标集群名称或者目标集群右侧操作列下的详情
  4. 在集群管理页左侧导航栏中,选择节点管理 > 节点池
  5. 节点池页面,单击目标节点池右侧操作列的添加已有节点
  6. 选择已有云服务器实例配置项页面,选择自动添加已有云服务器实例。
    选择添加方式自动添加,在已有云服务器的列表中,选择所需的ECS云服务器。
  7. 单击下一步,完成填写实例信息
    配置项 说明
    集群ID/名称 当前要添加的集群信息,已默认配置。
    数据盘挂载 设置是否将容器和镜像存储在数据盘。
    • 如果ECS已挂载数据盘,且最后一块数据盘的文件系统未初始化,系统会自动将该数据盘格式化为ext4,用来存放内容/var/lib/docker/var/lib/kubelet
      说明 数据盘内原有数据将丢失,请注意备份数据。
    • 如果ECS未挂载数据盘,则不会挂载新的数据盘。
    保留实例名称 添加节点时,默认开启保留实例名称。如果您不需要保留实例名称,您可以关闭保留实例名称,此时会按照自定义节点名称指定的规则来重命名节点。
    实例信息 添加的云服务器实例的实例ID及实例名称。
  8. 单击下一步,在添加已有实例到集群对话框中单击确定

手动添加节点

注意 手动添加到ACK集群的ECS节点不会随集群删除而被释放。

手动添加节点方式要求您获取安装命令,登录到对应ECS云服务器上进行安装,每次只能添加一个ECS云服务器。

  1. 登录容器服务管理控制台
  2. 在控制台左侧导航栏中,单击集群
  3. 集群列表页面中,单击目标集群名称或者目标集群右侧操作列下的详情
  4. 在集群管理页左侧导航栏中,选择节点管理 > 节点池
  5. 节点池页面,单击目标节点池右侧操作列的添加已有节点
  6. 选择已有云服务器实例配置项页面,选择手动添加已有云服务器实例。
    选择添加方式手动添加,在已有云服务器的列表中,选择所需的ECS云服务器,
  7. 单击下一步,完成填写实例信息
    配置项 说明
    集群ID/名称 当前要添加的集群信息,已默认配置。
    数据盘挂载 设置是否将容器和镜像存储在数据盘。
    • 如果ECS已挂载数据盘,且最后一块数据盘的文件系统未初始化,系统会自动将该数据盘格式化为ext4,用来存放内容/var/lib/docker/var/lib/kubelet
      说明 数据盘内原有数据将丢失,请注意备份数据。
    • 如果ECS未挂载数据盘,则不会挂载新的数据盘。
    保留实例名称 添加节点时,默认开启保留实例名称。如果您不需要保留实例名称,您可以关闭保留实例名称,此时会按照自定义节点名称指定的规则来重命名节点。
    实例信息 添加的云服务器实例的实例ID及实例名称。
  8. 单击下一步,进入添加完成页面。在添加完成页面复制执行命令,单击完成
  9. 登录ECS管理控制台,单击左侧导航栏中的实例与镜像 > 实例,选择集群所在的地域,选择需要添加的ECS实例。
  10. 单击ECS实例右侧的远程连接。在远程连接与命令对话框,选择远程连接方式后进入ECS远程连接界面。
    关于远程连接方式,请参见下表:
    远程连接方式 说明
    Workbench远程连接 关于如何使用Workbench远程连接ECS实例,请参见通过密码或密钥认证登录Linux实例通过密码或密钥认证登录Windows实例
    VNC远程连接 关于如何使用VNC远程连接ECS实例,请参见通过密码认证登录Linux实例通过密码认证登录Windows实例
    发送远程命令(云助手) 推荐使用,发送远程命令可以帮助您在实例内部快速执行命令,即无需远程连接登录实例,即可完成查看硬盘空间、安装软件、启动停止服务等操作。该功能通过云助手的命令执行功能实现。关于如何安装或激活云助手客户端,请参见安装云助手客户端
  11. 在ECS实例远程连接界面,根据页面指导,输入步骤8保存的命令,单击执行开始执行脚本。
    等待脚本执行成功,该云服务器就添加成功。

执行结果

  1. 在集群管理页左侧导航栏中,选择节点管理 > 节点池
  2. 节点池页面,单击目标节点池右侧操作列的详情
  3. 在目标节点池页面,单击节点管理页签。

    可查看刚才添加的节点信息。