AI Center
2021.10
False
Imagen de fondo del banner
Guía de instalación de AI Center
Última actualización 11 de mar. de 2024

Administrar la programación de nodos

Información general

Nota: la programación de nodos solo se aplica a los nodos agente y no debe aplicarse a los nodos del servidor.

La programación de nodos es especialmente útil para manejar mejor el hardware y asegurarse de que las réplicas de ML (pods), las habilidades o los procesos. Debería usarlos principalmente en dos situaciones:

  • Cuando tiene un nodo de GPU para asegurarse de que solo se programen en ese nodo la carga de trabajo que requiere GPU
  • Para aislar mejor las cargas de trabajo de ML para que no molesten a otras aplicaciones.

    De forma predeterminada, el programador de Kubernetes considera que todos los nodos que tienen los recursos necesarios.

Existen dos métodos con los que puede dirigir la programación de réplicas de ML (pods), habilidades o procesos a nodos específicos, y ambos son compatibles con UiPath AI Center ™:

  • Asignar pods a nodos usando Afinidad de nodo: esto es útil cuando se colocan pods ML con otros pods en un nodo. Se pueden aplicar varias etiquetas a un nodo.
  • Manchas y toleraciones: destinado a un nodo dedicado, ya sea rechazando todos los pods (NoSchedule) o imponiendo una preferencia de programación baja (PreferNoSchedule) para los pods que no coinciden con los criterios de programación. Aunque se pueden aplicar múltiples corrupciones a uno (s) nodo (s), las corrupciones de nodo solo admiten la lógica booleana "Y".

La afinidad de nodo es una propiedad de los pods que los atrae a un conjunto de nodos, ya sea como preferencia o como requisito. Las corrupciones, por otro lado, permiten que un nodo repele un conjunto de pods.

El primer método crea una afinidad entre réplicas y nodos mediante etiquetas de nodo, mientras que el segundo método aplica antiafinidad manchando los nodos.

Las plantillas de las réplicas ML PodSpec están diseñadas para admitir ambos métodos y se personalizan en función de la selección de GPU o no GPU en la implementación.

Afinidad de nodo

En el caso de que se haya añadido un nodo agente para expandir el grupo de recursos y quieras influir en la programación de los pods de ML en él, puedes aplicar la afinación de nodo. Hazlo añadiendo una etiqueta al nodo con el siguiente comando:

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

La afinidad de nodo no garantiza que el nodo esté dedicado a servir cargas de trabajo de ML y no impide que se programen otros pods de carga de trabajo en el mismo nodo en el que se aplican las etiquetas.

Manchas

Para dedicar un nodo, debe usar corrupciones o una combinación de afinidades y corrupciones de nodo. Para dedicar un nodo agente al servicio de ML GPU o pods de CPU, puedes aplicar las siguientes modificaciones a los nodos:

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

Combinación de afinidades y corrupciones de nodo

Para dedicar un nodo agente para servir pods de GPU de ML e influir en la programación de los pods de CPU de ML en los mismos nodos, puedes usar una combinación de afinidades y corrupciones de nodo:

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

Was this page helpful?

Obtén la ayuda que necesitas
RPA para el aprendizaje - Cursos de automatización
Foro de la comunidad UiPath
Logotipo blanco de UiPath
Confianza y seguridad
© 2005-2024 UiPath. All rights reserved.