Migre recursos para os operadores mais recentes - SageMaker IA da Amazon

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á.

Migre recursos para os operadores mais recentes

Estamos interrompendo o desenvolvimento e o suporte técnico da versão original do SageMaker Operators for Kubernetes.

Se você estiver usando atualmente a versão v1.2.2 ou inferior do SageMaker Operators for Kubernetes, recomendamos migrar seus recursos para o controlador de serviço ACK da Amazon. SageMaker O controlador de serviço ACK é uma nova geração de SageMaker operadores para Kubernetes com base em AWS controladores para Kubernetes (ACK).

Para obter respostas às perguntas frequentes sobre o fim do suporte da versão original do SageMaker Operators for Kubernetes, consulte Anunciando o fim do suporte da versão original do SageMaker AI Operators for Kubernetes

Use as etapas a seguir para migrar seus recursos e usar o ACK para treinar, ajustar e implantar modelos de aprendizado de máquina com a Amazon SageMaker AI.

nota

Os operadores de SageMaker IA mais recentes para Kubernetes não são compatíveis com versões anteriores.

Pré-requisitos

Para migrar com sucesso os recursos para os operadores de SageMaker IA mais recentes do Kubernetes, você deve fazer o seguinte:

  1. Instale os operadores de SageMaker IA mais recentes para Kubernetes. Consulte Configuração no Machine Learning com o ACK SageMaker AI Controller para step-by-step obter instruções.

  2. Se você estiver usando Recursos HostingAutoscalingPolicy, instale o novo Application Auto Scaling Operators. Consulte Configuração em escala de cargas de trabalho de SageMaker IA com Application Auto Scaling step-by-step para obter instruções. Essa etapa é opcional se você não estiver usando HostingAutoScalingPolicy recursos.

Se as permissões forem configuradas corretamente, o controlador de serviço ACK SageMaker AI poderá determinar a especificação e o status do AWS recurso e reconciliar o recurso como se o controlador ACK o tivesse criado originalmente.

Adote recursos

Os novos operadores de SageMaker IA para Kubernetes oferecem a capacidade de adotar recursos que não foram originalmente criados pelo controlador de serviço ACK. Para obter mais informações, consulte Adotar AWS recursos existentes na documentação do ACK.

As etapas a seguir mostram como os novos operadores de SageMaker IA para Kubernetes podem adotar um endpoint de IA existente SageMaker . Salve o código de amostra a seguir em um arquivo chamado adopt-endpoint-sample.yaml.

apiVersion: services.k8s.aws/v1alpha1 kind: AdoptedResource metadata: name: adopt-endpoint-sample spec: aws: # resource to adopt, not created by ACK nameOrID: xgboost-endpoint kubernetes: group: sagemaker.services.k8s.aws kind: Endpoint metadata: # target K8s CR name name: xgboost-endpoint

Envie o recurso personalizado (CR) usando kubectl apply:

kubectl apply -f adopt-endpoint-sample.yaml

Use kubectl describe para verificar as condições de status do seu recurso adotado.

kubectl describe adoptedresource adopt-endpoint-sample

Verifique se a condição ACK.Adopted é True. A saída deve ser semelhante ao seguinte exemplo:

--- kind: AdoptedResource metadata: annotations: kubectl.kubernetes.io/last-applied-configuration: '{"apiVersion":"services.k8s.aws/v1alpha1","kind":"AdoptedResource","metadata":{"annotations":{},"name":"xgboost-endpoint","namespace":"default"},"spec":{"aws":{"nameOrID":"xgboost-endpoint"},"kubernetes":{"group":"sagemaker.services.k8s.aws","kind":"Endpoint","metadata":{"name":"xgboost-endpoint"}}}}' creationTimestamp: '2021-04-27T02:49:14Z' finalizers: - finalizers.services.k8s.aws/AdoptedResource generation: 1 name: adopt-endpoint-sample namespace: default resourceVersion: '12669876' selfLink: "/apis/services.k8s.aws/v1alpha1/namespaces/default/adoptedresources/adopt-endpoint-sample" uid: 35f8fa92-29dd-4040-9d0d-0b07bbd7ca0b spec: aws: nameOrID: xgboost-endpoint kubernetes: group: sagemaker.services.k8s.aws kind: Endpoint metadata: name: xgboost-endpoint status: conditions: - status: 'True' type: ACK.Adopted

Verifique se seu recurso existe em seu cluster:

kubectl describe endpoints.sagemaker xgboost-endpoint

Recursos HostingAutoscalingPolicy

O recurso HostingAutoscalingPolicy (HAP) consiste em vários recursos do Application Auto Scaling: ScalableTarget e ScalingPolicy. Ao adotar um recurso HAP com ACK, primeiro instale o controlador Application Autox Scaling. Para adotar os recursos do HAP, você precisa adotar tanto o recurso ScalableTarget como o ScalingPolicy. Você pode encontrar o identificador de recursos para esses recursos no status do HostingAutoscalingPolicy recurso ()status.ResourceIDList.

HostingDeployment recursos

O HostingDeployment recurso consiste em vários recursos de SageMaker IA: EndpointEndpointConfig, e cada umModel. Se você adotar um endpoint de SageMaker IA no ACK, precisará adotar o EndpointEndpointConfig, e cada um Model separadamente. Os nomes Endpoint, EndpointConfig e Model, podem ser encontrados no status do recurso HostingDeployment (status.endpointName, status.endpointConfigName estatus.modelNames).

Para obter uma lista de todos os recursos de SageMaker IA compatíveis, consulte a Referência da API ACK.

Limpe os recursos antigos

Depois que os novos operadores de SageMaker IA para Kubernetes adotarem seus recursos, você poderá desinstalar os operadores antigos e limpar os recursos antigos.

Etapa 1: desinstalar o operador antigo

Para desinstalar o operador antigo, consulte Excluir operadores.

Atenção

Desinstale o operador antigo antes de excluir qualquer recurso antigo.

Etapa 2: remover finalizadores e excluir recursos antigos

Atenção

Antes de excluir recursos antigos, certifique-se de ter desinstalado o operador antigo.

Depois de desinstalar o operador antigo, você deve remover explicitamente os finalizadores para excluir os recursos antigos do operador. O exemplo de script a seguir mostra como excluir todos os trabalhos de treinamento gerenciados pelo operador antigo em um determinado namespace. Você pode usar um padrão semelhante para excluir recursos adicionais depois que eles forem adotados pelo novo operador.

nota

Você deve usar nomes completos de recursos para obter recursos. Por exemplo, use kubectl get trainingjobs.sagemaker.aws.amazon.com em vez de kubectl get trainingjob.

namespace=sagemaker_namespace training_jobs=$(kubectl get trainingjobs.sagemaker.aws.amazon.com -n $namespace -ojson | jq -r '.items | .[] | .metadata.name') for job in $training_jobs do echo "Deleting $job resource in $namespace namespace" kubectl patch trainingjobs.sagemaker.aws.amazon.com $job -n $namespace -p '{"metadata":{"finalizers":null}}' --type=merge kubectl delete trainingjobs.sagemaker.aws.amazon.com $job -n $namespace done

Use os novos operadores de SageMaker IA para Kubernetes

Para obter guias detalhados sobre como usar os novos operadores de SageMaker IA para Kubernetes, consulte Use operadores de SageMaker IA para Kubernetes