节点管理

节点是集群组成的基本元素,用以运行应用负载。它既可以是虚拟机,也可以是物理机,具体视业务而定。每个节点都包含运行 Pod 所需的基本组件,包括 Kubelet、Kube-proxy、容器运行时等。您可以通过容器应用服务控制台对节点进行管理。

说明

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

设置节点调度

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

前提条件

已创建集群

暂停调度

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

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

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

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

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

恢复调度

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

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

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

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

查看节点详情

前提条件

已创建集群

操作步骤

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

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

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

    信息模块

    具体信息

    基本信息

    节点服务器 IP

    节点的创建时间

    调度状态:

    • 可调度状态

    • 不可调度状态

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

    注释:系统注释信息

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

    Pod 列表

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

    节点事件

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

    YAML

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

管理标签

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

操作步骤

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

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

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

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

    • 添加标签

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

      2. 在弹出框中输入 keyvalue

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

    • 删除标签

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

      2. 单击 提交

管理 Taint

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

操作步骤

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

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

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

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

    • 添加污点

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

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

        说明

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

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

    • 删除污点

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

      2. 单击 提交。

监控节点

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

说明

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

操作步骤

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

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

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

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

删除节点

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

前提条件

已创建集群

注意事项

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

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

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

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

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

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

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

操作步骤

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

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

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

    • 自动排空节点(drain):把待移除节点上的 Pod 转移到其他节点。请确保集群其他节点的资源充足。您还可以通过本地执行 sudo 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 实例会继续计费。