节点标签可以给节点打上不同的标签,给节点定义不同的属性,通过这些标签可以快速的了解各个节点的特点。
节点标签使用场景
节点标签的主要使用场景有两类。
- 节点管理:通过节点标签管理节点,给节点分类。
- 工作负载与节点的亲和与反亲和:
- 有的工作负载需要的CPU大,有的工作负载需要的内存大,有的工作负载需要IO大,可能会影响其他工作负载正常工作等等,此时建议给节点添加不同标签。在部署工作负载的时候,就可以选择相应标签的节点亲和部署,保证系统正常工作;反之,可以使用节点的反亲和部署。
- 一个系统可以分为多个模块,每个模块由多个微服务组成,为保证后期运维的高效,可以将节点打上对应模块的标签,让各模块部署到各自的节点模块上,互不干扰,方便开发到各自节点上去维护。
节点固有标签
节点创建出来会存在一些固有的标签,并且是无法删除的,这些标签的含义请参见下表。
表节点固有标签
键 | 说明 |
---|---|
新:topology.kubernetes.io/region 旧:failure-domain.beta.kubernetes.io/region |
表示节点当前所在区域。 |
新:topology.kubernetes.io/zone 旧:failure-domain.beta.kubernetes.io/zone |
表示节点所在区域的可用区。 |
新:node.kubernetes.io/baremetal 旧:failure-domain.beta.kubernetes.io/is-baremetal |
表示是否为物理机节点。例如:false,表示非物理机节点 |
node.kubernetes.io/container-engine | 表示容器引擎。例如:docker、containerd |
node.kubernetes.io/instance-type | 节点实例规格。 |
kubernetes.io/arch | 节点处理器架构。 |
kubernetes.io/hostname | 节点名称。 |
kubernetes.io/os | 节点操作系统类型。 |
node.kubernetes.io/subnetid | 节点所在子网的ID。 |
os.architecture | 表示节点处理器架构。例如:amd64,表示AMD64位架构的处理器 |
os.name | 节点的操作系统名称。 |
os.version | 操作系统节点内核版本。 |
node.kubernetes.io/container-engine | 节点所用容器引擎。 |
accelerator | GPU节点标签。 |
cce.cloud.com/cce-nodepool | 节点池节点专属标签。 |
添加/删除节点标签
步骤 1 登录CCE控制台。
步骤 2 单击集群名称进入集群,在左侧选择“节点管理”,勾选节点,单击左上方“标签与污点管理”。
步骤 3 在弹出的窗口中,在“批量操作”下方单击“新增批量操作”,然后选择“添加/更新”或“删除”。
填写需要增加/删除标签的“键”和“值”,单击“确定”。
例如,填写的键为“deploy_qa”,值为“true”,就可以从逻辑概念表示该节点是用来部署QA(测试)环境使用。
图 添加节点标签
步骤 4 标签添加成功后,再次进入该界面,在节点数据下可查看到已经添加的标签。