防止应用程序工作负载在边缘工作节点上运行
边缘工作程序节点的优点是可以将其指定为仅运行联网服务。
您可以使用以下方法防止工作负载在边缘工作节点上运行并消耗工作节点资源 Kubernetes污点。
准备工作
- 确保您拥有以下 IAM 角色:
            - 群集的任何平台访问角色
- 经理所有命名空间的服务访问角色
 
- 访问您的Red Hat OpenShift簇。
- 
            创建带标签的工作池 dedicated=edge或者将标签添加到您现有的工作池之一。- 要创建经典工作池,您可以使用 worker-pool create classic命令。ibmcloud oc worker-pool create classic --name POOL_NAME --cluster CLUSTER --flavor FLAVOR --size-per-zone WORKERS_PER_ZONE --hardware ISOLATION --label dedicated=edge
- 要创建 VPC 工作池,您可以使用 worker-pool create vpc-gen2命令。ibmcloud oc worker-pool create vpc-gen2 --name POOL_NAME --cluster CLUSTER --flavor FLAVOR --size-per-zone WORKERS_PER_ZONE --hardware ISOLATION --label dedicated=edge
- 要标记现有的工作池,您可以使用 worker-pool label set命令。ibmcloud oc worker-pool label set --cluster CLUSTER --worker-pool POOL --label dedicated=edge
 
- 要创建经典工作池,您可以使用 
- 
            验证工作程序池和工作程序节点是否具有 dedicated=edge标签。- 要检查工作池,请使用 get命令。ibmcloud oc worker-pool get --cluster <cluster_name_or_ID> --worker-pool <worker_pool_name_or_ID>
- 要检查单个工作程序节点,请查看以下命令输出中的 Labels 字段。oc describe node <worker_node_private_IP>
 
- 要检查工作池,请使用 
- 
            使用以下方式将污点应用到工作节点: dedicated=edge标签。 污点会阻止 Pod 在工作节点上运行,并删除没有dedicated=edge来自工作节点的标签。 除去的 pod 会重新部署到具有容量的其他工作程序节点。要将污点应用到工作池中所有现有和未来的工作节点: ibmcloud oc worker-pool taint set -c <cluster_name_or_ID> --worker-pool <worker_pool_name_or_ID> --taint dedicated=edge:NoExecute要将污点应用到单个工作节点: oc adm taint node -l dedicated=edge dedicated=edge:NoExecute现在,仅具有 dedicated=edge容忍度的 pod 会部署到边缘工作程序节点。
- 
            验证边缘节点是否有污点。 oc describe nodes -l dedicated=edge | egrep "Taints|Hostname"示例输出 Taints: dedicated=edge:NoExecute Hostname: 10.176.48.83 Taints: dedicated=edge:NoExecute Hostname: 10.184.58.7