IBM Cloud Docs
防止应用程序工作负载在边缘工作节点上运行

防止应用程序工作负载在边缘工作节点上运行

边缘工作程序节点的优点是可以将其指定为仅运行联网服务。

您可以使用以下方法防止工作负载在边缘工作节点上运行并消耗工作节点资源 Kubernetes污点

准备工作

  1. 创建带标签的工作池 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
      
  2. 验证工作程序池和工作程序节点是否具有 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>
      
  3. 使用以下方式将污点应用到工作节点: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 会部署到边缘工作程序节点。

  4. 验证边缘节点是否有污点。

    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