Aislar enrutadores a nodos perimetrales

Para garantizar que los pods de enrutador se programan siempre en nodos de trabajador de borde, debe crear o utilizar un grupo de trabajadores existente que tenga al menos dos nodos de trabajador de borde por zona.

Antes de empezar

  • Asegúrate de que dispones de los siguientes roles de 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.

Aislamiento de cargas de trabajo en nodos de trabajo periféricos

Para aislar su carga de trabajo en los nodos trabajadores perimetrales:

  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 clásico, 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 crear un grupo de trabajadores de VPC, puede utilizar el `worker-pool create vpc-gen2` [dominio](/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
        ```
    * 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 comprobar el grupo de trabajadores, utilice 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. Recuperar todos los controladores de Ingress existentes en el clúster.

    oc get ingresscontroller -n openshift-ingress-operator
    

    Salida de ejemplo

    NAME      AGE
    default   5h37m
    
  4. Edite el controlador de ingreso.

    oc edit ingresscontroller -n openshift-ingress-operator default
    
  5. Selecciona el spec.nodePlacement campo a lo siguiente. Para obtener más información, consulte la Red Hat documentación.

    nodePlacement:
      nodeSelector:
        matchLabels:
          dedicated: edge
        tolerations:
        - effect: NoSchedule
          operator: Exists
    
  6. Guarde y cierre el archivo.

  7. Comprueba que los pods del router estén asignados a los nodos periféricos y no a los nodos de cálculo.

    oc describe nodes -l dedicated=edge | grep "router-*"
    

    Salida de ejemplo

    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
    
  8. Comprueba que no haya ningún «pod» de enrutador desplegado en nodos que no sean de perímetro.

    oc describe nodes -l dedicated!=edge | grep "router-*"
    

    Si los pods del enrutador se han desplegado correctamente en los nodos periféricos, no se devuelve ningún pod de enrutador. Tus routers se han reprogramado correctamente para que se ejecuten únicamente en nodos de trabajo periféricos.

Has etiquetado los nodos de trabajo de un grupo de trabajo con « dedicated=edge » y has vuelto a implementar todos los ALB existentes en los nodos periféricos. Todos los ALB 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, puedes prevenir otros cargas de trabajo que se ejecutan en nodos trabajadores perimetrales.