Aislar los NLB clásicos para bordear los nodos trabajadores
Clásico
En los siguientes pasos, se añade la etiqueta « dedicated=edge » a los nodos de trabajo de cada VLAN pública o privada del clúster. Esta etiqueta se utiliza para implementar sus balanceadores de carga de red (NLB) solo en esos nodos
trabajadores. Se pueden implementar NLB tanto públicos como privados en los nodos de trabajo periféricos.
Si tienes previsto utilizar un grupo de nodos de trabajo ya existente, este debe abarcar todas las zonas de tu clúster y contar con al menos dos nodos de trabajo por zona. Puede etiquetar la agrupación de trabajadores con dedicated=edge usando el comando ibmcloud oc worker-pool label set.
Antes de empezar
- Asegúrese de que tiene los siguientes roles de IBM Cloud IAM:
- Cualquier rol de acceso a la plataforma para el clúster
- Rol de acceso al servicio Escritor o Gestor sobre todos los espacios de nombres
- Acceda al clúster de Red Hat OpenShift.
-
Crea un grupo de trabajadores con la etiqueta.
dedicated=edgeo agregue la etiqueta a uno de sus grupos de trabajadores existentes.- Para crear un grupo de trabajadores, puede utilizar el
worker-pool create classicdominio.
ibmcloud oc worker-pool create classic --name POOL_NAME --cluster CLUSTER --flavor FLAVOR --size-per-zone WORKERS_PER_ZONE --hardware ISOLATION --label dedicated=edge ``` * Para etiquetar un grupo de trabajadores existente, puede utilizar el `worker-pool label set` [dominio](/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 ``` - Para crear un grupo de trabajadores, puede utilizar el
-
Verifique que la agrupación de nodos trabajadores y los nodos trabajadores tengan la etiqueta
dedicated=edge.- Para verificar el grupo de trabajadores, ejecute el
getdominio.
ibmcloud oc worker-pool get --cluster CLUSTER_NAME_OR_ID --worker-pool WORKER_POOL_NAME_OR_ID ``` * Para comprobar los nodos trabajadores individuales, revise el campo **Labels** de la salida del mandato siguiente. ```sh {: pre} oc describe node <worker_node_private_IP> ``` - Para verificar el grupo de trabajadores, ejecute el
-
Recupere todos los NLB existentes en el clúster. En la salida, fíjate en el espacio de nombres y el nombre de cada equilibrador de carga.
oc get services --all-namespaces | grep LoadBalancerSalida de ejemplo:
PORT(S) AGE router-default 80:31228/TCP,443:31655/TCP 4h54m LoadBalancer 172.21.71.79 169.46.17.2 -
Utilizando la salida del paso anterior, ejecute el mandato siguiente para cada NLB. Este mandato vuelve a desplegar el NLB en un nodo de trabajador periférico.
oc get service -n <namespace> <name> -o yaml | oc apply -f -Salida de ejemplo:
service "router-default" configured -
Para comprobar que las cargas de trabajo de red se limitan a los nodos periféricos, asegúrate de que los equilibradores de carga estén asignados a los nodos periféricos y no a nodos que no sean periféricos.
- Pods de NLB
- Confirme que los pods de NLB están desplegados en nodos de extremo. Busca la dirección IP externa del servicio de equilibrado de carga que aparece en el resultado del paso anterior. Reemplazar los puntos (
.) con guiones (-). En el siguiente ejemplo para elcrc81nk5l10gfhdql4i3qg, el NLB tiene una dirección IP externa de169.46.17.2.Salida de ejemplo:oc describe nodes -l dedicated=edge | grep "169-46-17-2"ibm-system ibm-cloud-provider-ip-169-46-17-2-76fcb4965d-wz6dg 5m (0%) 0 (0%) 10Mi (0%) 0 (0%) ibm-system ibm-cloud-provider-ip-169-46-17-2-76fcb4965d-2z64r 5m (0%) 0 (0%) 10Mi (0%) 0 (0%) - Confirm that no NLB pods are deployed to non-edge nodes. Ejemplo para el NLB de
public-crc81nk5l10gfhdql4i3qg-nlb1, que tiene una dirección IP externa de169.46.17.2:oc describe nodes -l dedicated!=edge | grep "169-46-17-2"- If the NLB pods are correctly deployed to edge nodes, no NLB pods are returned. Your NLBs are successfully rescheduled onto only edge worker nodes.
- If NLB pods are returned, continue to the next step.
- Confirme que los pods de NLB están desplegados en nodos de extremo. Busca la dirección IP externa del servicio de equilibrado de carga que aparece en el resultado del paso anterior. Reemplazar los puntos (
- Pods de NLB
-
Si se siguen desplegando pods de NLB en nodos que no son periféricos, puede suprimir los pods para que se vuelvan a desplegar en nodos periféricos.
Elimina solo un pod cada vez y comprueba que el pod se haya reasignado a un nodo periférico antes de eliminar otros pods.
- Suprima un pod. Por ejemplo, si uno de los pods de NLB de
public-crc81nk5l10gfhdql4i3qg-alb1no se hubiera programado en un nodo periférico:
oc delete pod ibm-cloud-provider-ip-169-46-17-2-76fcb4965d-wz6dg -n ibm-system ``` 2. Verifique que el pod se vuelve a planificar en un nodo trabajador de extremo. La replanificación es automática, pero puede tardar unos minutos. Ejemplo para el NLB de `public-crc81nk5l10gfhdql4i3qg-alb1`, que tiene una dirección IP externa de `169.46.17.2`: ```sh {: pre} oc describe nodes -l dedicated=edge | grep "169-46-17-2" ``` Salida de ejemplo: ```sh {: screen} ibm-system ibm-cloud-provider-ip-169-46-17-2-76fcb4965d-wz6dg 5m (0%) 0 (0%) 10Mi (0%) 0 (0%) ibm-system ibm-cloud-provider-ip-169-46-17-2-76fcb4965d-2z64r 5m (0%) 0 (0%) 10Mi (0%) 0 (0%) ``` - Suprima un pod. Por ejemplo, si uno de los pods de NLB de
Has etiquetado los nodos de trabajo de un grupo de trabajo con « dedicated=edge » y has vuelto a implementar todos los NLB existentes en los nodos periféricos. Todos los NLB que se añadan posteriormente al clúster también se implementarán
en un nodo periférico de tu grupo de trabajadores periféricos. A continuación, evite que el resto de las cargas de trabajo se ejecuten en los nodos trabajadores de extremo y bloquee el tráfico entrante en los NodePorts de los nodos trabajadores.