将路由器隔离至边缘节点
要确保路由器 pod 始终调度到边缘工作者节点,必须创建或使用现有的工作者池,每个区域至少有两个边缘工作者节点。
准备工作
- 请确保您拥有以下 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`[命令](/docs/openshift?topic=openshift-kubernetes-service-cli#worker-pool-create-vpc-gen2-cli)。 ```sh {: pre} 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`[命令](/docs/openshift?topic=openshift-kubernetes-service-cli#worker-pool-label-set-cli)。 ```sh {: pre} 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** 字段。 ```sh {: pre} oc describe node <worker_node_private_IP> ``` - 要检查工作池,请使用
-
检索集群中所有现有的 Ingress 控制器。
oc get ingresscontroller -n openshift-ingress-operator示例输出
NAME AGE default 5h37m -
编辑入口控制器。
oc edit ingresscontroller -n openshift-ingress-operator default -
设置
spec.nodePlacement字段替换为以下内容。 有关详细信息,请参阅 Red Hat文档。nodePlacement: nodeSelector: matchLabels: dedicated: edge tolerations: - effect: NoSchedule operator: Exists -
保存并关闭该文件。
-
请确认路由器 Pod 已调度到边缘节点,且未调度到计算节点。
oc describe nodes -l dedicated=edge | grep "router-*"示例输出
openshift-ingress router-default-7784f69c7c-qq577 100m (2%) 0 (0%) 256Mi (1%) 0 (0%) 5m4s openshift-ingress router-default-7784f69c7c-7rwrj 100m (2%) 0 (0%) 256Mi (1%) 0 (0%) 5m5s -
请确认没有路由器 Pod 部署到非边缘节点上。
oc describe nodes -l dedicated!=edge | grep "router-*"如果路由器 Pod 已正确部署到边缘节点,则不会返回任何路由器 Pod。 您的路由器已成功重新调度至仅边缘工作节点上。
您已使用 dedicated=edge 为工作节点池中的工作节点添加了标签,并将所有现有的ALB重新部署到了边缘节点上。 此后添加到集群中的所有 ALB 也会部署到您的边缘工作器池中的某个边缘节点上。 接下来你可以防止其他 在边缘工作节点上运行的工作负载。