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 de SageMaker Operators for Kubernetes
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 Operators for Kubernetes
Use as etapas a seguir para migrar seus recursos e usá-los ACK para treinar, ajustar e implantar modelos de aprendizado de máquina com a Amazon SageMaker.
nota
Os SageMaker operadores mais recentes do Kubernetes não são compatíveis com versões anteriores.
Conteúdos
Pré-requisitos
Para migrar recursos com sucesso para os SageMaker operadores mais recentes do Kubernetes, você deve fazer o seguinte:
-
Instale os SageMaker operadores mais recentes para Kubernetes. Consulte Configuração
no Machine Learning com o ACK SageMaker controlador para step-by-step obter instruções. -
Se você estiver usando HostingAutoscalingPolicyrecursos, instale o novo Application Auto Scaling Operators. Consulte Configuração
em Scale SageMaker Workloads with 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 ACK SageMaker serviço poderá determinar a especificação e o status do AWS recurso e reconciliar o recurso como se o ACK controlador o tivesse criado originalmente.
Adote recursos
Os novos SageMaker operadores 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
As etapas a seguir mostram como os novos SageMaker operadores do Kubernetes podem adotar um endpoint 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
HostingAutoscalingPolicyrecursos
O recurso HostingAutoscalingPolicy
(HAP) consiste em vários recursos do Application Auto Scaling: e. ScalableTarget
ScalingPolicy
Ao adotar um HAP recurso comACK, primeiro instale o controlador Application Auto ScalingScalableTarget
e ScalingPolicy
recursos. 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 SageMaker recursos:Endpoint
,EndpointConfig
, e cada umModel
. Se você adotar um SageMaker endpoint emACK, precisará adotar o Endpoint
EndpointConfig
, 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 SageMaker recursos compatíveis, consulte a ACKAPIReferência
Limpe os recursos antigos
Depois que os novos SageMaker operadores do 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 SageMaker operadores para Kubernetes
Para obter guias detalhados sobre o uso dos novos SageMaker operadores para Kubernetes, consulte Use SageMaker operadores para Kubernetes