向集群添加标记和标签
您可以向 Red Hat OpenShift on IBM Cloud 集群分配标记,以帮助管理 IBM Cloud 资源。 例如,您可以向集群和其他云资源添加 key:value
标记,以便计费部门跟踪资源,例如 costctr:1234
。 标记在帐户范围内可视。 有关更多信息,请参阅使用标记。
标记与 Kubernetes 标签不同。 Kubernetes 标签 是 key:value
对,可用作集群中资源的选择器,例如,将标签添加到工作程序池以 仅将应用程序部署到特定工作程序节点。
标记是一个 IBM Cloud 工具,可用于过滤 IBM Cloud 资源,例如集群,存储设备或 Watson 服务。
请勿在标记中包含个人信息。 使用 Kubernetes 资源时,请了解有关确保个人信息安全的更多信息。
从以下选项中选择
- 使用标记 在控制台中创建集群。 无法在 CLI 中创建具有标记的集群。
- 在控制台或 CLI 中向现有集群添加标记。
向现有工作程序池添加标签
您可以在创建工人池时为其分配标签,也可以稍后按照以下步骤为其分配标签。 在标注工作程序池后,所有现有及后续工作程序节点都将获得此标签。 您可使用标签将特定工作负载仅部署到该工作程序池中的工作程序节点,例如用于负载均衡器网络流量的边缘节点。
请勿在标签中包含个人信息。 使用 Kubernetes 资源时,请了解有关确保个人信息安全的更多信息。
开始之前: 访问 Red Hat OpenShift 集群。
-
列出集群中的工作程序池。
ibmcloud oc worker-pool ls --cluster <cluster_name_or_ID>
-
列出工作程序池中要标记的工作程序节点上的现有定制标签。
ibmcloud oc worker-pool get --cluster <cluster_name_or_ID> --worker-pool <pool>
-
使用
key=value
标签标注工作程序池。 设置工作程序池标签时,将替换所有现有定制标签。 要在工人池上保留任何现有的自定义标签,请使用此选项包含这些标签。您还可以通过为相同的键分配新值,对现有标签重命名。 但是,不要修改默认提供的工作者池或工作者节点标签,因为这些标签是工作者池正常运行所必需的。 请仅修改您先前添加的定制标签。
ibmcloud oc worker-pool label set --cluster <cluster_name_or_ID> --worker-pool <worker_pool_name_or_ID> --label <key=value>
将
<key>: <value>
设置为具有现有标签team: DevOps
和app: test
的工作程序池中的新定制标签的示例:ibmcloud oc worker-pool label set --cluster <cluster_name_or_ID> --worker-pool <worker_pool_name_or_ID> --label <key=value> --label team=DevOps --label app=test
-
验证工作程序池和工作程序节点是否具有分配的
key=value
标签。- 要检查工作程序池,请运行以下命令:
ibmcloud oc worker-pool get --cluster <cluster_name_or_ID> --worker-pool <worker_pool_name_or_ID>
- 要检查工作程序节点,请执行以下操作:
- 列出工作程序池中的工作程序节点,并记下 Private IP。
ibmcloud oc worker ls --cluster <cluster_name_or_ID> --worker-pool <worker_pool_name_or_ID>
- 查看输出的 Labels 字段。
新增标签(oc describe node <worker_node_private_IP>
app=test
)的输出示例:
已除去标签的输出示例(Labels: app=test arch=amd64 ...
app=test
标签不再显示):Labels: arch=amd64 ...
- 列出工作程序池中的工作程序节点,并记下 Private IP。
- 要检查工作程序池,请运行以下命令:
-
可选: 要从工作程序池中除去单个标签,只能使用要保留的定制标签来运行
ibmcloud oc worker-pool label set
命令。 要从工作程序池中除去所有定制标签,可以运行ibmcloud oc worker-pool label rm
命令。请勿删除默认提供的工人池和工人节点标签,因为这些标签是工人池正常运行所必需的。 请仅除去您先前添加的定制标签。
仅保留
team: DevOps
和app: test
标签并从工作程序池中除去所有其他定制标签的示例:ibmcloud oc worker-pool label set --cluster <cluster_name_or_ID> --worker-pool <worker_pool_name_or_ID> --label team=DevOps --label app=test
从工作程序池中除去所有定制标签的示例:
ibmcloud oc worker-pool label rm --cluster <cluster_name_or_ID> --worker-pool <worker_pool_name_or_ID>
在给工作负载池贴上标签后,您可以使用“应用程序部署中的标签 使工作负载只在这些工作负载节点上运行,或使用”污点防止部署在这些工作负载节点上运行。