全部产品

节点管理

更新时间:2021-02-26 13:42

说明

本文仅适用于新版 ACK 集群场景,即在 AKS 集成阿里云容器服务(ACK)之后(2020 年 8月 15 号)用户创建的集群。

集群扩容

若节点资源不足,会导致创建工作负载等操作失败。集群扩容即扩容集群内的节点资源。您可以通过以下两种方式进行扩容:

前提条件

创建集群

创建新节点

  1. 登录容器应用服务控制台,在左侧导航栏单击 集群管理

  2. 集群详情 页,单击 节点 页签,进入节点列表页面。

  3. 单击 集群扩容,完成以下 集群扩容 配置。

    • 虚拟交换机:设置虚拟交换机。您可以在已有虚拟交换机列表中,根据可用区选择 1~3 个交换机 。如果没有您需要的交换机,可以通过单击创建虚拟交换机进行创建。

    • 付费类型:支持 按量付费包年包月 两种节点付费类型,付费详情请参见计费方式对比。选择 包年包月 时,需设置购买时长。目前支持选择 1、2、3、6个月和 1~5 年。需设置是否自动续费。

    • 伸缩数量(扩容):需要扩容的节点数量。

    • 实例规格:支持选择多个实例规格。详情参见 实例规格族

    • 系统盘:至少 40 GB。支持 SSD 云盘和高效云盘。

    • 挂载磁盘:至少 40 GB。支持 SSD 云盘和高效云盘。

    • 密码:设置节点的登录密码。如遗忘可登录阿里云 ECS 控制台重置密码,参见 重置实例登录密码

    • 确认密码:确认设置的节点登录密码。

    • 云监控插件:设置是否启用云监控插件。您可以选中在 ECS 节点上安装云监控插件,从而在云监控控制台查看所创建 ECS 实例的监控信息。

    • 标签:为节点绑定标签。输入键和对应的值,单击 添加 ,在弹出框中输入 变量名

    • 污点(Taints):为 Worker 节点添加污点。单击 添加,在弹出框中输入 变量名,选择 Effect。 Effect 包含以下选项:

      • NoSchedule:不允许无匹配 toleration 的 Pod 调度到该节点。

      • NoExecute:若无匹配 toleration 的 Pod 已经在节点上运行,则将 Pod 驱逐,若无匹配 toleration 的 Pod 尚未在节点上运行,则不会将 Pod 调度到该节点上。

      • PreferNoSchedule:尽量不将无匹配 toleration 的 Pod 调度到该节点。更多详情参见 官方文档

    • 部署单元:使用默认配置。

    • CPU Policy:设置 CPU policy。

      • none:默认策略,表示启用现有的默认 CPU 亲和方案。

      • static:允许为节点上具有某些资源特征的 Pod 赋予增强的 CPU 亲和性和独占性。

  4. 完成配置后,单击 提交

    1

添加已有节点

您可以将工作空间中已有的处于 运行中 状态的 ECS 加入到容器服务集群。系统会从当前工作空间中筛选出之前以 清除机器环境 方式删除的 ECS,以及从当前工作空间中筛选出由资源管理(RMC)创建的符合条件的 ECS。

说明

您需要将待添加的 ECS 实例添加到集群自动创建的节点安全组内。

  1. 登录容器应用服务控制台,在左侧导航栏单击 集群管理

  2. 集群详情 页,单击 节点 页签,进入节点列表页面。

  3. 单击 添加已有节点,完成以下 集群扩容 配置。

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

    • 选择已有云服务器:勾选要添加的 ECS。

  4. 单击 下一步,填写以下实例信息。

    • 数据盘挂载:设置是否将容器和镜像存储在数据盘。

      说明
      • 如果 ECS 已挂载数据盘,且最后一块数据盘的文件系统未初始化,系统会自动将该数据盘格式化为 ext4,用来存放内容/var/lib/docker、/var/lib/kubelet 。数据盘内原有数据将丢失,请注意备份数据。

      • 如果 ECS 未挂载数据盘,则不会挂载新的数据盘。

    • CPU Policy: 设置 CPU Policy。

      • none:默认策略,表示启用现有的默认 CPU 亲和方案。

      • static:允许为节点上具有某些资源特征的 Pod 赋予增强的 CPU 亲和性和独占性。

    • 密码: 设置节点的登录密码。

    • 确认密码: 确认密码。

    • 部署单元:使用默认配置。

    • 标签:为节点绑定标签。输入键和对应的值,单击 添加,在弹出框中输入 变量名

  5. 完成配置后,单击 提交

删除节点

当您不再需要该节点继续工作时,可以通过以下操作移除节点。

前提条件

创建集群

注意事项

  • 删除节点会引起 Pod 迁移,可能会影响业务,建议在业务低峰期操作。

  • 操作过程中可能存在非预期风险,请提前做好相关的数据备份。

  • 操作过程中,后台会把当前节点设置为不可调度状态。

  • 移除节点仅移除 Worker节点,不会移除 Master 节点。

  • 移除节点请通过控制台进行操作,如果使用 kubectl delete node 方式手动移除节点,则:

    • 移除后的节点无法再添加到其他集群上。

    • 删除集群时,该节点所在的 ECS 实例会被释放。

操作步骤

  1. 在左侧导航栏,单击 集群管理,进入集群详情页面。

  2. 选择 节点 页签,找到待删除的节点,单击右侧操作栏的更多操作图标 > 删除

  3. 在弹出的 删除警告 窗口,选择以下删除方式,单击 确定

    • 自动排空节点(drain):把待移除节点上的 Pod 转移到其他节点。请确保集群其他节点的资源充足。您还可以通过执行命令 kubectl drain node-name 的方式把待移除节点上的 Pod 转移到其他节点。

      说明
      node-name 格式为 your-region-name.node-idyour-region-name 为您集群所在的地域名称。node-id 为待移除节点所在的 ECS 实例 ID。例如 cn-hanghzou.i-xxx
    • 同时释放 ECS:释放 ECS 实例仅释放按量付费的 ECS 实例。对于预付费 ECS 实例,计费周期到期后,ECS 实例会自动释放。 您也可以在 ECS 实例到期前:

      说明

      若不选择同时释放 ECS,该节点所在的 ECS 实例会继续计费。

设置节点调度

您可以通过控制台界面设置节点调度,从而合理分配各节点的负载。

前提条件

创建集群

暂停调度

节点暂停调度后,在后续进行应用部署时,Pod 不会再调度到该节点。

  1. 登录容器应用服务控制台,在左侧导航栏单击 集群管理

  2. 集群详情 页,单击 节点 页签,进入节点列表页面。

  3. 选择节点,单击 更多操作 > 暂停调度,在弹出框中单击 确定

    回到节点列表页,查看节点状态为 不可调度

恢复调度

  1. 登录容器应用服务控制台,在左侧导航栏单击 集群管理

  2. 集群详情 页,单击 节点 页签,进入节点列表页面。

  3. 选择节点,单击 更多操作 > 恢复调度,在弹出框中单击 确定

    回到节点列表页,查看节点状态为 可调度

查看节点详情

前提条件

创建集群

操作步骤

  1. 登录容器应用服务控制台,在左侧导航栏单击 集群管理

  2. 集群详情 页,单击 节点 页签,进入节点列表页面。

    1
  3. 节点列表 中,单击 节点名称 进入节点详情页面。您可以查看以下信息。

    信息模块

    具体信息

    基本信息

    节点服务器 IP

    节点的创建时间

    调度状态:

    • 可调度状态

    • 不可调度状态

    机器详情:单击 前往查看 进入云服务器管理控制台,可查看节点服务器详细信息,例如基本信息及配置、付费、监控等信息。

    注释:系统注释信息

    系统定义的节点标签,可用于节点分组。

    Pod 列表

    节点所包含的容器列表,包括 Pod 名称、IP、命名空间、 状态、创建时间。单击 Pod 名称跳转到容器组详情页。

    节点事件

    反映节点生命周期和运行状况的事件日志,包含事件名、次数、事件原因、事件内容等。

    YAML

    节点的 YAML 文件,支持一键复制。

管理标签

您可以通过容器应用服务对标签进行管理,包括快速添加和删除标签。

  1. 登录容器应用服务控制台,在左侧导航栏单击 集群管理

  2. 集群详情 页,单击 节点 页签,进入节点列表页面。

  3. 找到目标节点,单击右侧操作栏的更多操作图标 > 编辑标签

  4. 编辑标签 弹框中,可以根据需要添加或删除标签:

    1
    • 添加标签

      1. 单击下方 添加一行数据

      2. 在弹出框中输入 keyvalue

      3. 输入完成后,单击 提交

    • 删除标签

      1. 找到待删除的标签,单击右侧 操作 列下的 删除。您可以看到该标签消失,标签被删除。

      2. 单击 提交

管理 Taint

Taint(污点)用于给节点做污点标记,使 Pod 排斥一类特定的节点,每个节点上都可以应用一个或多个污点。本部分介绍如何对污点进行管理。

  1. 登录容器应用服务控制台,在左侧导航栏单击 集群管理

  2. 集群详情 页,单击 节点 页签,进入节点列表页面。

  3. 找到目标节点,单击右侧操作栏的更多操作图标 > 编辑 Taint

  4. 编辑 Taint 弹框中,可以根据需要添加或删除污点:

    1
    • 添加污点

      1. 单击下方 添加一行数据

      2. 在弹出框中输入 (必填)(选填)对于 Effect,可在 NoScheduleNoExecute PreferNoSchedule 中选择

        说明

        当添加多个污点时,各污点的键不能重复,但值可以重复,并且可以为空。

      3. 完成配置后,单击 提交

    • 删除污点

      1. 找到待删除的污点,单击右侧 操作 列下的 删除。您可以看到该污点消失,污点被删除。

      2. 单击 提交。

节点监控

ACK 集群与云监控服务无缝集成,您可以查看 kubernetes 节点的监控信息,了解 Kubernetes集群下 ECS 实例的节点监控指标。

说明

ACK 集群默认开通了云监控的基础资源监控服务,您还可以在云监控控制台查看原生 k8s 工作负载的监控指标。详情请参见 基础资源监控

  1. 登录容器应用服务控制台,在左侧导航栏单击 集群管理

  2. 集群详情 页,单击 节点 页签,进入节点列表页面。

  3. 找到目标节点,单击节点右侧 操作 栏的 更多图标 > 监控 进入云监控控制台。

  4. 查看对应 ECS 实例的基本监控信息,包括 CPU 使用率、网络流入带宽、网络流出带宽、系统磁盘 BPS、系统盘 IOPS 等指标。

    监控页面