ai-center
2022.10
false
Guia do usuário do AI Center
Automation CloudAutomation SuiteStandalone
Last updated 14 de ago de 2024

Gerenciamento do agendamento de nós

Observação: o agendamento de nó só é aplicável a nós de agente e não deve ser aplicado a nós de servidor.

O agendamento de nós é especialmente útil para lidar melhor com o hardware e garantir que as réplicas de ML (pods), habilidades ou pipelines. Você deve usá-los principalmente em duas situações:

  • Quando você tiver um nó de GPU, certifique-se de que apenas a carga de trabalho que requer GPU seja agendada nesse nó
  • Para isolar melhor suas cargas de trabalho de ML para que não perturbem outros aplicativos.

    Por padrão, todos os nós com os recursos necessários são considerados iguais pelo agendador do kubernetes.

Existem dois métodos para direcionar o agendamento de réplicas de ML (pods), habilidades ou pipelines para nós específicos, e ambos são compatíveis com o UiPath® AI Center:

  • Atribuir pods a nós usando afinidade de nó: isso é útil ao colocar pods de ML com outros pods em um nó. Vários rótulos podem ser aplicados a um nó.
  • Taints e tolerâncias: destinados a um nó dedicado, repelindo todos os pods (NoSchedule) ou impondo uma baixa preferência de agendamento (PreferNoSchedule) para pods que não correspondem aos critérios de agendamento. Embora vários taints possam ser aplicados a um(s) nó(s), os taints de nó suportam apenas a lógica booleana “AND”.

Node affinity é uma propriedade dos Pods que os atrai para um conjunto de nós, seja como uma preferência ou um requisito. As manchas, por outro lado, permitem que um nó repela um conjunto de pods.

O primeiro método cria uma afinidade entre réplicas e nós usando rótulos de nós, enquanto o segundo método aplica antiafinidade contaminando os nós.

Os modelos PodSpec das réplicas de ML são projetados para oferecer suporte a ambos os métodos e são personalizados com base na seleção de GPU ou não GPU na implantação.

Afinidade de nós

No caso em que um nó de agente foi adicionado para expandir o pool de recursos e você deseja influenciar o agendamento de pods de ML nele, pode aplicar afinidade de nó. Faça isso adicionando um rótulo ao nó usando o seguinte comando:

  • Para CPU: kubectl label node <node_name> node.type=aic.ml.cpu
  • Para a GPU: kubectl label node <node_name> node.type=aic.ml.gpu

A afinidade do nó não garante que o nó seja dedicado a atender cargas de trabalho de ML e não impede que outros pods de carga de trabalho sejam agendados para o mesmo nó em que os rótulos são aplicados.

Máculas

Para dedicar um nó, você precisa usar taints ou uma combinação de afinidade de nó e taints. Para dedicar um nó de agente para servir pods de GPU ou CPU de ML, você pode aplicar os seguintes taints aos nós:

  • Para CPU: kubectl taint node <node_name> aic.ml/cpu=present:NoSchedule
  • Para a GPU: kubectl taint node <node_name> nvidia.com/gpu=present:NoSchedule

Combinação de marcações e afinidade de nós

Para dedicar um nó agente para a distribuição de pods de ML do tipo GPU e influenciar o agendamento para pods de ML do tipo CPU para os mesmos nós, você pode usar uma combinação de marcação e afinidade de nós:
kubectl taint node <node_name> nvidia.com/gpu=present:PreferNoSchedule
kubectl label node <node_name> node.type=aic.ml.cpukubectl taint node <node_name> nvidia.com/gpu=present:PreferNoSchedule
kubectl label node <node_name> node.type=aic.ml.cpu
  • Afinidade de nós
  • Máculas
  • Combinação de marcações e afinidade de nós

Esta página foi útil?

Obtenha a ajuda que você precisa
Aprendendo RPA - Cursos de automação
Fórum da comunidade da Uipath
Uipath Logo White
Confiança e segurança
© 2005-2024 UiPath. Todos os direitos reservados.