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:
-
Crie um pool de trabalhadores com o rótulo
dedicated=edgeou 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 classiccomando.
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 ``` - Para criar um pool de trabalhadores clássico, você pode usar o
-
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
getcomando.
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> ``` - Para verificar o pool de trabalhadores, use o
-
Recuperar todos os Ingress Controllers existentes no cluster.
oc get ingresscontroller -n openshift-ingress-operatorExemplo de saída
NAME AGE default 5h37m -
Edite o controlador de ingresso.
oc edit ingresscontroller -n openshift-ingress-operator default -
Colocou o
spec.nodePlacementcampo para o seguinte. Para obter mais informações, consulte o Red Hat documentação.nodePlacement: nodeSelector: matchLabels: dedicated: edge tolerations: - effect: NoSchedule operator: Exists -
Salve e feche o arquivo.
-
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 -
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.