Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Cómo poner en cuarentena, reemplazar o reiniciar manualmente un nodo
Aprenda a poner en cuarentena, reemplazar y reiniciar manualmente un nodo defectuoso en SageMaker HyperPod clústeres organizados con Amazon EKS.
Cómo poner en cuarentena un nodo y forzar la eliminación de un pod de entrenamiento
kubectl cordon<node-name>
Tras la cuarentena, fuerce la expulsión del pod. Esto es útil cuando un pod se queda atascado en la terminación durante más de 30 minutos o kubectl describe pod muestra El nodo no está listo en Eventos.
kubectl delete pods<pod-name>--grace-period=0 --force
SageMaker HyperPod ofrece dos métodos para la recuperación manual de nodos. El enfoque preferido es utilizar el SageMaker HyperPod sistema Reboot and Replace APIs, que proporciona un proceso de recuperación más rápido y transparente que funciona en todos los orquestadores. Como alternativa, puedes usar los comandos kubectl para etiquetar los nodos para las operaciones de reinicio y reemplazo. Ambos métodos activan los mismos SageMaker HyperPod procesos de recuperación.
Para reiniciar un nodo mediante la API de reinicio
Para reiniciar un nodo, puede utilizar la BatchRebootClusterNodes API.
A continuación, se muestra un ejemplo de cómo ejecutar la operación de reinicio en dos instancias de un clúster mediante AWS Command Line Interface:
aws sagemaker batch-reboot-cluster-nodes \ --cluster-name arn:aws:sagemaker:ap-northeast-1:123456789:cluster/test-cluster \ --node-ids i-0123456789abcdef0 i-0fedcba9876543210
Para reemplazar un nodo mediante la API Replace
Para reemplazar un nodo, puedes usar la BatchReplaceClusterNodes API de la siguiente manera
A continuación, se muestra un ejemplo de cómo ejecutar la operación de reemplazo en dos instancias de un clúster mediante AWS Command Line Interface:
aws sagemaker batch-replace-cluster-nodes \ --cluster-name arn:aws:sagemaker:ap-northeast-1:123456789:cluster/test-cluster \ --node-ids i-0123456789abcdef0 i-0fedcba9876543210
Clústeres gestionados por Karpenter
En el caso de SageMaker HyperPod los clústeres que utilizan Karpenter para el aprovisionamiento de nodos, la BatchReplaceClusterNodes API no garantiza la creación de un nodo de reemplazo. El nodo especificado se cancelará, pero el reemplazo dependerá del modelo de aprovisionamiento de Karpenter. pod-demand-based Karpenter solo crea nodos nuevos cuando hay pods en un Pending estado que no se puede programar en los nodos existentes.
Si la carga de trabajo del nodo eliminado se puede reprogramar en los nodos restantes del clúster (por ejemplo, si esos nodos tienen suficiente capacidad), Karpenter no prevé ningún reemplazo. Para garantizar que se cree un nodo de reemplazo, compruebe que la configuración de la carga de trabajo (como las reglas de antiafinidad de los pods o las solicitudes de recursos) requiera un nodo nuevo para los pods desplazados.
Somos conscientes de esta limitación y estamos trabajando activamente en una solución que obligue a sustituir los nodos cuando se solicite a través de la API.
Para reemplazar un nodo mediante kubectl
Etiquete el nodo por el que desea reemplazarlosagemaker.amazonaws.com/node-health-status=UnschedulablePendingReplacement, lo que activa el. SageMaker HyperPod Recuperación automática de nodos Tenga en cuenta que también debe activar la recuperación automática de nodos durante la creación o actualización del clúster.
kubectl label nodes<node-name>\ sagemaker.amazonaws.com/node-health-status=UnschedulablePendingReplacement
Para reiniciar un nodo mediante kubectl
Etiquete el nodo con el que se va a reiniciarsagemaker.amazonaws.com/node-health-status=UnschedulablePendingReboot, lo que activa el. SageMaker HyperPod Recuperación automática de nodos Tenga en cuenta que también debe activar la recuperación automática de nodos durante la creación o actualización del clúster.
kubectl label nodes <node-name> \ sagemaker.amazonaws.com/node-health-status=UnschedulablePendingReboot
Una vez UnschedulablePendingReboot colocadas las etiquetasUnschedulablePendingReplacement, debería poder ver que el nodo finaliza o se reinicia en unos minutos.