节点是集群组成的基本元素,用以运行应用负载。它既可以是虚拟机,也可以是物理机,具体视业务而定。每个节点都包含运行 Pod 所需的基本组件,包括 Kubelet、Kube-proxy、容器运行时等。您可以通过容器应用服务控制台对节点进行管理。
本文仅适用于新版 ACK 集群场景,即在 AKS 集成阿里云容器服务(ACK)之后(2020 年 8月 15 号)用户创建的集群。
设置节点调度
您可以通过控制台界面设置节点调度,从而合理分配各节点的负载。
前提条件
暂停调度
节点暂停调度后,在后续进行应用部署时,Pod 不会再调度到该节点。
登录容器应用服务控制台,在左侧导航栏单击 集群管理。
在 集群详情 页,单击 节点 页签,进入节点列表页面。
选择节点,单击 更多操作 > 暂停调度,在弹出框中单击 确定。
回到节点列表页,查看节点状态为 不可调度。
恢复调度
登录容器应用服务控制台,在左侧导航栏单击 集群管理。
在 集群详情 页,单击 节点 页签,进入节点列表页面。
选择节点,单击 更多操作 > 恢复调度,在弹出框中单击 确定。
回到节点列表页,查看节点状态为 可调度。
查看节点详情
前提条件
操作步骤
登录容器应用服务控制台,在左侧导航栏单击 集群管理。
在 集群详情 页,单击 节点 页签,进入节点列表页面。
在 节点列表 中,单击 节点名称 进入节点详情页面。您可以查看以下信息。
信息模块
具体信息
基本信息
节点服务器 IP
节点的创建时间
调度状态:
可调度状态
不可调度状态
机器详情:单击 前往查看 进入云服务器管理控制台,可查看节点服务器详细信息,例如基本信息及配置、付费、监控等信息。
注释:系统注释信息
系统定义的节点标签,可用于节点分组。
Pod 列表
节点所包含的容器列表,包括 Pod 名称、IP、命名空间、 状态、创建时间。单击 Pod 名称跳转到容器组详情页。
节点事件
反映节点生命周期和运行状况的事件日志,包含事件名、次数、事件原因、事件内容等。
YAML
节点的 YAML 文件,支持一键复制。
管理标签
您可以通过容器应用服务对标签进行管理,包括快速添加和删除标签。
操作步骤
登录容器应用服务控制台,在左侧导航栏单击 集群管理。
在 集群详情 页,单击 节点 页签,进入节点列表页面。
找到目标节点,单击右侧操作栏的更多操作图标 > 编辑标签。
在 编辑标签 弹框中,可以根据需要添加或删除标签:
添加标签:
单击下方 添加一行数据。
在弹出框中输入 key、value。
输入完成后,单击 提交。
删除标签:
找到待删除的标签,单击右侧 操作 列下的 删除。您可以看到该标签消失,标签被删除。
单击 提交。
管理 Taint
Taint(污点)用于给节点做污点标记,使 Pod 排斥一类特定的节点,每个节点上都可以应用一个或多个污点。本部分介绍如何对污点进行管理。
操作步骤
登录容器应用服务控制台,在左侧导航栏单击 集群管理。
在 集群详情 页,单击 节点 页签,进入节点列表页面。
找到目标节点,单击右侧操作栏的更多操作图标 > 编辑 Taint。
在 编辑 Taint 弹框中,可以根据需要添加或删除污点:
添加污点:
单击下方 添加一行数据。
在弹出框中输入 键(必填)、值(选填)。对于 Effect,可在 NoSchedule、NoExecute 或 PreferNoSchedule 中选择。
说明当添加多个污点时,各污点的键不能重复,但值可以重复,并且可以为空。
完成配置后,单击 提交。
删除污点:
找到待删除的污点,单击右侧 操作 列下的 删除。您可以看到该污点消失,污点被删除。
单击 提交。
监控节点
ACK 集群与云监控服务无缝集成,您可以查看 kubernetes 节点的监控信息,了解 Kubernetes 集群下 ECS 实例的节点监控指标。
ACK 集群默认开通了云监控的基础资源监控服务,您还可以在云监控控制台查看原生 k8s 工作负载的监控指标。详情请参见 基础资源监控。
操作步骤
登录容器应用服务控制台,在左侧导航栏单击 集群管理。
在 集群详情 页,单击 节点 页签,进入节点列表页面。
找到目标节点,单击节点右侧 操作 栏的更多图标 > 监控 进入云监控控制台。
查看对应 ECS 实例的基本监控信息,包括 CPU 使用率、网络流入带宽、网络流出带宽、系统磁盘 BPS、系统盘 IOPS 等指标。
删除节点
当您不再需要该节点继续工作时,可以通过以下操作移除节点。
前提条件
注意事项
删除节点会引起 Pod 迁移,可能会影响业务,建议在业务低峰期操作。
操作过程中可能存在非预期风险,请提前做好相关的数据备份。
操作过程中,后台会把当前节点设置为不可调度状态。
移除节点仅移除 Worker节点,不会移除 Master 节点。
移除节点请通过控制台进行操作,如果使用
sudo kubectl delete node
命令手动移除节点,则:移除后的节点无法再添加到其他集群上。
删除集群时,该节点所在的 ECS 实例会被释放。
操作步骤
在左侧导航栏,单击 集群管理,进入集群详情页面。
选择 节点 页签,找到待删除的节点,单击右侧操作栏的更多操作图标 > 删除。
在弹出的 删除警告 窗口,选择以下删除方式,单击 确定。
自动排空节点(drain):把待移除节点上的 Pod 转移到其他节点。请确保集群其他节点的资源充足。您还可以通过本地执行
sudo kubectl drain node-name
的方式把待移除节点上的 Pod 转移到其他节点。说明node-name 格式为
your-region-name.node-id
。your-region-name
为您集群所在的地域名称。node-id
为待移除节点所在的 ECS 实例 ID。例如cn-hanghzou.i-xxx
。同时释放 ECS:释放 ECS 实例仅释放按量付费的 ECS 实例。对于预付费 ECS 实例,计费周期到期后,ECS 实例会自动释放。 您也可以在 ECS 实例到期前:
说明若不选择同时释放 ECS,该节点所在的 ECS 实例会继续计费。