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
- Asegúrese de tener 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
- Inicie una sesión en la cuenta. If applicable, target the appropriate resource group. Establezca el contexto para el clúster.
-
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
- 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
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>
- Para verificar el grupo de trabajadores, ejecute el
-
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
-
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
-
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
- 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 elcrc81nk5l10gfhdql4i3qg
, el NLB tiene una dirección IP externa de169.46.17.2
.
Salida de ejemplokubectl 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 '
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.
- 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 (
- 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.
Elimine sólo un pod cada vez y compruebe que el pod se reprograma en un nodo de borde antes de eliminar otros pods.
-
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
-
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.