

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Colocar em quarentena, substituir ou reinicializar manualmente um nó
<a name="sagemaker-hyperpod-eks-resiliency-manual"></a>

Saiba como colocar em quarentena, substituir e reinicializar manualmente um nó com defeito em SageMaker HyperPod clusters orquestrados com o Amazon EKS.

**Para colocar um nó em quarentena e forçar a exclusão de um pod de treinamento**

```
kubectl cordon <node-name>
```

Após a quarentena, force a ejeção do Pod. Isso é útil quando você vê que um pod está preso na terminação por mais de 30 minutos ou `kubectl describe pod` mostra “O nó não está pronto” em Eventos

```
kubectl delete pods <pod-name> --grace-period=0 --force
```

SageMaker HyperPod oferece dois métodos para recuperação manual de nós. A abordagem preferida é usar o SageMaker HyperPod Reboot and Replace APIs, que fornece um processo de recuperação mais rápido e transparente que funciona em todos os orquestradores. Como alternativa, você pode usar os comandos kubectl para rotular os nós para operações de reinicialização e substituição. Ambos os métodos ativam os mesmos processos SageMaker HyperPod de recuperação.

**Para reinicializar um nó usando a API de reinicialização**

Para reinicializar um nó, você pode usar a BatchRebootClusterNodes API.

 Aqui está um exemplo de como executar a operação de reinicialização em duas instâncias de um cluster usando o 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 substituir um nó usando a API Replace**

Para substituir um nó, você pode usar a BatchReplaceClusterNodes API da seguinte forma

 Aqui está um exemplo de execução da operação de substituição em duas instâncias de um cluster usando o 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
```

**Clusters gerenciados pelo Karpenter**  
Para SageMaker HyperPod clusters que usam o Karpenter para provisionamento de nós, a `BatchReplaceClusterNodes` API não garante a criação de um nó substituto. O nó especificado *será* encerrado, mas a substituição depende do modelo de provisionamento do pod-demand-based Karpenter. O Karpenter só cria novos nós quando há pods em um `Pending` estado que não pode ser programado nos nós existentes.  
Se a carga de trabalho do nó excluído puder ser reprogramada para os nós restantes no cluster (por exemplo, se esses nós tiverem capacidade suficiente), o Karpenter não provisionará uma substituição. Para garantir que um nó substituto seja criado, verifique se a configuração da carga de trabalho (como regras de antiafinidade do pod ou solicitações de recursos) exige um novo nó para os pods deslocados.  
Estamos cientes dessa limitação e estamos trabalhando ativamente em uma solução para impor a substituição de nós quando solicitada por meio da API.

**Para substituir um nó usando kubectl**

Identifique o nó a ser substituído`sagemaker.amazonaws.com/node-health-status=UnschedulablePendingReplacement`, o que aciona o. SageMaker HyperPod [Recuperação automática de nós](sagemaker-hyperpod-eks-resiliency-node-recovery.md) Observe que você também precisa ativar a recuperação automática de nós durante a criação ou atualização do cluster.

```
kubectl label nodes <node-name> \
   sagemaker.amazonaws.com/node-health-status=UnschedulablePendingReplacement
```

**Para reinicializar um nó usando kubectl**

Identifique o nó com o qual reinicializar`sagemaker.amazonaws.com/node-health-status=UnschedulablePendingReboot`, o que aciona o. SageMaker HyperPod [Recuperação automática de nós](sagemaker-hyperpod-eks-resiliency-node-recovery.md) Observe que você também precisa ativar a recuperação automática de nós durante a criação ou atualização do cluster.

```
kubectl label nodes <node-name> \
   sagemaker.amazonaws.com/node-health-status=UnschedulablePendingReboot
```

Depois que os rótulos `UnschedulablePendingReplacement` `UnschedulablePendingReboot` forem aplicados, você poderá ver o nó ser encerrado ou reinicializado em alguns minutos. 