Isolando roteadores para nós de borda

Para garantir que os pods de roteador sejam sempre agendados para os nós de edge worker, você deve criar ou usar um pool de trabalho existente que tenha pelo menos dois nós de edge worker por zona.

Antes de Iniciar

  • Certifique-se de que você possui as seguintes funções do IAM:
    • Qualquer função de acesso de plataforma para o cluster
    • Função de acesso de serviço Gravador ou Gerenciador para todos os namespaces
  • Acesse o seu Red Hat OpenShift cluster.

Isolamento de cargas de trabalho nos nós de trabalho de borda

Para isolar sua carga de trabalho em nós de trabalho de borda:

  1. Crie um pool de trabalhadores com o rótulo dedicated=edge ou adicione o rótulo a um dos seus pools de trabalhadores existentes.

    • Para criar um pool de trabalhadores clássico, você pode usar o 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
        ```
    * Para criar um pool de trabalhadores da VPC, você pode usar o `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
        ```
    * Para rotular um pool de trabalhadores existente, você pode usar o `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. Verifique se o conjunto de trabalhadores e os nós do trabalhador têm o rótulo dedicated=edge.

    • Para verificar o pool de trabalhadores, use o get comando.
        ibmcloud oc worker-pool get --cluster CLUSTER_NAME_OR_ID --worker-pool WORKER_POOL_NAME_OR_ID
        ```
    * Para verificar os nós do trabalhador individuais, revise o campo **Rótulos** da saída do comando a seguir.
    ```sh {: pre}
        oc describe node <worker_node_private_IP>
        ```
    
    
    
    
  3. Recuperar todos os Ingress Controllers existentes no cluster.

    oc get ingresscontroller -n openshift-ingress-operator
    

    Exemplo de saída

    NAME      AGE
    default   5h37m
    
  4. Edite o controlador de ingresso.

    oc edit ingresscontroller -n openshift-ingress-operator default
    
  5. Colocou o spec.nodePlacement campo para o seguinte. Para obter mais informações, consulte o Red Hat documentação.

    nodePlacement:
      nodeSelector:
        matchLabels:
          dedicated: edge
        tolerations:
        - effect: NoSchedule
          operator: Exists
    
  6. Salve e feche o arquivo.

  7. Verifique se os pods do roteador estão agendados nos nós de borda e não nos nós de computação.

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

    Exemplo de saída

    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. Verifique se nenhum pod de roteador está implantado em nós que não sejam de borda.

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

    Se os pods do roteador estiverem corretamente implantados nos nós de borda, nenhum pod do roteador será retornado. Seus roteadores foram reescalonados com sucesso apenas para nós de trabalho de borda.

Você atribuiu a etiqueta “ dedicated=edge ” aos nós de trabalho em um pool de trabalho e reimplantou todos os ALBs existentes nos nós de borda. Todos os ALBs adicionados posteriormente ao cluster também são implantados em um nó de borda no seu conjunto de workers de borda. Em seguida, você pode evitar outros cargas de trabalho sejam executadas em nós de trabalho de borda.