IBM Cloud Docs
Aislar los NLB clásicos para bordear los nodos trabajadores

Aislar los NLB clásicos para bordear los nodos trabajadores

Clásico

En los pasos siguientes, se añade la etiqueta " dedicated=edge " a los nodos trabajadores 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. Puede desplegar NLB tanto públicos como privados puede desplegar en nodos edge worker.

Si va a utilizar un grupo de trabajadores existente, el grupo debe abarcar todas las zonas de su clúster y tener al menos dos nodos de trabajadores por zona. Puede etiquetar la agrupación de trabajadores con dedicated=edge mediante el mandato ibmcloud ks 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.
      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 ks 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.
      kubectl describe node <worker_node_private_IP>
      
  3. Recupere todos los NLB existentes en el clúster. En la salida, observe el espacio de nombres y el nombre de cada equilibrador de carga.

    kubectl get services --all-namespaces | grep LoadBalancer
    

    Salida de ejemplo

    kube-system           private-crc81nk5l10gfhdql4i3qg-nlb1   LoadBalancer   172.21.233.160   10.216.23.123    80:31345/TCP,443:32630/TCP   8d
    kube-system           public-crc81nk5l10gfhdql4i3qg-nlb1    LoadBalancer   172.21.190.18    169.46.17.2      80:31345/TCP,443:32630/TCP   8d
    
  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.

    kubectl get service -n <namespace> <name> -o yaml | kubectl apply -f -
    

    Salida de ejemplo

    service "private-crc81nk5l10gfhdql4i3qg-nlb1" configured
    service "public-crc81nk5l10gfhdql4i3qg-nlb1" configured
    
  5. Para comprobar que las cargas de trabajo de red están restringidas a los nodos periféricos, confirme que los equilibradores de carga están programados en los nodos periféricos y no en nodos no periféricos.

    • Pods de NLB
      1. Confirme que los pods de NLB están desplegados en nodos de extremo. Busque la dirección IP externa del servicio del equilibrador de carga que se lista en la salida del paso 3. 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.
        kubectl 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 ' public-crc81nk5l10gfhdql4i3qg-nlb1 ' que tiene una dirección IP externa de ' 169.46.17.2:
        kubectl 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.

    Elimine sólo un pod cada vez y compruebe que el pod se reprograma en un nodo de borde antes de eliminar otros pods.

    1. Suprima un pod. Por ejemplo, si uno de los public-crc81nk5l10gfhdql4i3qg-alb1 Los pods de NLB no se programaron en un nodo perimetral; puede utilizar este comando de eliminación:

      kubectl 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 ' public-crc81nk5l10gfhdql4i3qg-alb1 ' que tiene una dirección IP externa de ' 169.46.17.2:

      kubectl 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%)
      

Ha etiquetado nodos de trabajador en un grupo de trabajadores con " dedicated=edge " y ha redistribuido todos los NLB existentes a los nodos de borde. Todos los NLB posteriores que se añadan al clúster también se desplegarán en un nodo de borde de su grupo de trabajadores de borde. 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.