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

  1. Crea un grupo de trabajadores con la etiqueta.dedicated=edge o agregue la etiqueta a uno de sus grupos de trabajadores existentes.

    • Para crear un grupo de trabajadores, puede utilizar el worker-pool create classic dominio.
        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
        ```
    
  2. 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 get dominio.
        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>
        ```
    
    
    
    
  3. 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 LoadBalancer
    

    Salida de ejemplo:

    PORT(S)                      AGE
    router-default
    80:31228/TCP,443:31655/TCP   4h54m
    LoadBalancer   172.21.71.79    169.46.17.2
    
  4. 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
    
  5. 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
      1. 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 el crc81nk5l10gfhdql4i3qg, el NLB tiene una dirección IP externa de 169.46.17.2.
        oc describe nodes -l dedicated=edge | grep "169-46-17-2"
        
        Salida de ejemplo:
        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%)
        
      2. 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 de 169.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.
  6. 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.

    1. Suprima un pod. Por ejemplo, si uno de los pods de NLB de public-crc81nk5l10gfhdql4i3qg-alb1 no 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%)
        ```
    
    
    

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.