IBM Cloud Docs
向集群添加标记和标签

向集群添加标记和标签

您可以向 Red Hat OpenShift on IBM Cloud 集群分配标记,以帮助管理 IBM Cloud 资源。 例如,您可以向集群和其他云资源添加 key:value 标记,以便计费部门跟踪资源,例如 costctr:1234。 标记在帐户范围内可视。 有关更多信息,请参阅使用标记

标记与 Kubernetes 标签不同。 Kubernetes 标签key:value 对,可用作集群中资源的选择器,例如,将标签添加到工作程序池以 仅将应用程序部署到特定工作程序节点。 标记是一个 IBM Cloud 工具,可用于过滤 IBM Cloud 资源,例如集群,存储设备或 Watson 服务。

请勿在标记中包含个人信息。 使用 Kubernetes 资源时,请了解有关确保个人信息安全的更多信息。

从以下选项中选择

  • 使用标记 在控制台中创建集群。 无法在 CLI 中创建具有标记的集群。
  • 在控制台或 CLI 中向现有集群添加标记。

使用控制台向集群添加标记

  1. 登录到 IBM Cloud 集群控制台

  2. 选择具有现有标记的集群。

  3. 在集群名称和状态旁边,单击 编辑标记 画笔图标。 如果集群没有任何现有标记,那么您没有 编辑标记 画笔图标。 请改为使用 资源列表 或 CLI。

  4. 输入要添加到群集的标记。 要分配键/值对,请使用冒号,例如 costctr:1234

使用 CLI 向集群添加标记

  1. 登录到 IBM Cloud CLI

    ibmcloud login [--sso]
    
  2. 标记集群。 用群集名称替换 "--resource-name。 要列出可用的群集,请运行 "ibmcloud oc cluster ls。 如果要检查现有标记以避免重复任何标记,请运行 ibmcloud resource tags

    ibmcloud resource tag-attach --resource-name <cluster_name> --tag-names <tag1,tag2>
    

    如果 IBM Cloud 帐户中有多个同名资源,那么错误消息会列出资源 CRN 和详细信息,并指示您使用 --resource-id 选项重试。

向现有工作程序池添加标签

您可以在创建工人池时为其分配标签,也可以稍后按照以下步骤为其分配标签。 在标注工作程序池后,所有现有及后续工作程序节点都将获得此标签。 您可使用标签将特定工作负载仅部署到该工作程序池中的工作程序节点,例如用于负载均衡器网络流量的边缘节点

请勿在标签中包含个人信息。 使用 Kubernetes 资源时,请了解有关确保个人信息安全的更多信息。

开始之前: 访问 Red Hat OpenShift 集群

  1. 列出集群中的工作程序池。

    ibmcloud oc worker-pool ls --cluster <cluster_name_or_ID>
    
  2. 列出工作程序池中要标记的工作程序节点上的现有定制标签。

    ibmcloud oc worker-pool get --cluster <cluster_name_or_ID> --worker-pool <pool>
    
  3. 使用 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: DevOpsapp: 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
    
  4. 验证工作程序池和工作程序节点是否具有分配的 key=value 标签。

    • 要检查工作程序池,请运行以下命令:
      ibmcloud oc worker-pool get --cluster <cluster_name_or_ID> --worker-pool <worker_pool_name_or_ID>
      
    • 要检查工作程序节点,请执行以下操作:
      1. 列出工作程序池中的工作程序节点,并记下 Private IP
        ibmcloud oc worker ls --cluster <cluster_name_or_ID> --worker-pool <worker_pool_name_or_ID>
        
      2. 查看输出的 Labels 字段。
        oc describe node <worker_node_private_IP>
        
        新增标签( app=test)的输出示例:
        Labels:   app=test
        arch=amd64
        ...
        
        已除去标签的输出示例( app=test 标签不再显示):
        Labels:   arch=amd64
        ...
        
  5. 可选: 要从工作程序池中除去单个标签,只能使用要保留的定制标签来运行 ibmcloud oc worker-pool label set 命令。 要从工作程序池中除去所有定制标签,可以运行 ibmcloud oc worker-pool label rm 命令。

    请勿删除默认提供的工人池和工人节点标签,因为这些标签是工人池正常运行所必需的。 请仅除去您先前添加的定制标签。

    仅保留 team: DevOpsapp: 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>
    

在给工作负载池贴上标签后,您可以使用“应用程序部署中的标签 使工作负载只在这些工作负载节点上运行,或使用”污点防止部署在这些工作负载节点上运行。