Isolare i router dai nodi periferici

Per garantire che i pod router siano sempre pianificati sui nodi worker edge, è necessario creare o utilizzare un pool di worker esistente con almeno due nodi worker edge per zona.

Prima di iniziare

  • Assicurati di disporre dei seguenti ruoli IAM:
    • Qualsiasi ruolo di accesso alla piattaforma per il cluster
    • Ruolo di accesso al servizio “Autore” o “Amministratore” per tutti gli spazi dei nomi
  • Accedi al tuo cluster Red Hat OpenShift.

Isolamento dei carichi di lavoro sui nodi di elaborazione periferici

Per isolare il carico di lavoro sui nodi di lavoro edge:

  1. Crea un pool di lavoratori con l'etichetta dedicated=edge oppure aggiungi l'etichetta a uno dei tuoi pool di lavoratori esistenti.

    • Per creare un pool di lavoratori classico, puoi utilizzare il file worker-pool create classic comando.
        ibmcloud oc worker-pool create classic --name POOL_NAME --cluster CLUSTER --flavor FLAVOR --size-per-zone WORKERS_PER_ZONE --hardware ISOLATION --label dedicated=edge
        ```
    * Per creare un pool di nodi di lavoro VPC, puoi utilizzare il file `worker-pool create vpc-gen2` [comando](/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
        ```
    * Per etichettare un pool di nodi di lavoro esistente, puoi utilizzare il file `worker-pool label set` [comando](/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. Verifica che il pool di nodi di lavoro e i nodi di lavoro abbiano l'etichetta dedicated=edge.

    • Per controllare il pool di lavoratori, utilizzare il file get comando.
        ibmcloud oc worker-pool get --cluster CLUSTER_NAME_OR_ID --worker-pool WORKER_POOL_NAME_OR_ID
        ```
    * Per controllare i singoli nodi di lavoro, esamina il campo **Labels** dell'output del seguente comando.
    ```sh {: pre}
        oc describe node <worker_node_private_IP>
        ```
    
    
    
    
  3. Recupera tutti i controller di ingresso presenti nel cluster.

    oc get ingresscontroller -n openshift-ingress-operator
    

    Output di esempio

    NAME      AGE
    default   5h37m
    
  4. Modifica il controller di ingresso.

    oc edit ingresscontroller -n openshift-ingress-operator default
    
  5. Impostare il spec.nodePlacement campo al seguente. Per ulteriori informazioni, vedere il Red Hat documentazione.

    nodePlacement:
      nodeSelector:
        matchLabels:
          dedicated: edge
        tolerations:
        - effect: NoSchedule
          operator: Exists
    
  6. Salva e chiudi il file.

  7. Verificare che i pod del router siano assegnati ai nodi periferici e non ai nodi di calcolo.

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

    Output di esempio

    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. Verificare che non vi siano pod router distribuiti su nodi non perimetrali.

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

    Se i pod del router sono stati distribuiti correttamente sui nodi periferici, non viene restituito alcun pod del router. I router sono stati riprogrammati con successo in modo da essere distribuiti esclusivamente sui nodi worker periferici.

Hai assegnato un'etichetta ai nodi di lavoro in un pool di lavoro con " dedicated=edge " e hai ridistribuito tutti gli ALB esistenti sui nodi periferici. Anche tutti gli ALB aggiunti successivamente al cluster vengono distribuiti su un nodo periferico del proprio pool di worker periferici. Successivamente, puoi prevenirne altri carichi di lavoro dall'esecuzione su nodi di lavoro edge.