Migrazione di risorse verso gli operatori più recenti - Amazon SageMaker

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Migrazione di risorse verso gli operatori più recenti

Stiamo interrompendo lo sviluppo e il supporto tecnico della versione originale di Operators for Kubernetes. SageMaker

Se attualmente utilizzi una versione v1.2.2 o precedente di SageMaker Operators for Kubernetes, ti consigliamo di migrare le tue risorse al service ACKcontroller per Amazon. SageMaker Il ACK service controller è una nuova generazione di SageMaker Operators for Kubernetes basata su Controller for Kubernetes ().AWS ACK

Per le risposte alle domande frequenti sulla fine del supporto della versione originale di Operators for Kubernetes, consulta SageMaker Annuncio della fine del supporto per la versione originale di SageMaker Operators for Kubernetes

Utilizza i seguenti passaggi per migrare le tue risorse e utilizzarle ACK per addestrare, ottimizzare e distribuire modelli di machine learning con Amazon. SageMaker

Nota

Le versioni più recenti di SageMaker Operators for Kubernetes non sono retrocompatibili.

Prerequisiti

Per migrare correttamente le risorse alla versione più recente di SageMaker Operators for Kubernetes, devi fare quanto segue:

  1. Installa gli operatori più recenti per Kubernetes SageMaker . Per step-by-step istruzioni, consulta Configurazione in Machine Learning con il ACK SageMaker controller.

  2. Se usi HostingAutoscalingPolicyrisorse, installa i nuovi Application Auto Scaling Operators. Per istruzioni, consulta Configurazione SageMaker dei carichi di lavoro in scala con Application Auto Scaling. step-by-step Questo passaggio è facoltativo se non si utilizzano HostingAutoScalingPolicy risorse.

Se le autorizzazioni sono configurate correttamente, il controller del ACK SageMaker servizio può determinare le specifiche e lo stato della AWS risorsa e riconciliare la risorsa come se fosse stato il ACK controller a crearla originariamente.

Adozione di risorse

I nuovi SageMaker Operators for Kubernetes offrono la possibilità di adottare risorse che non sono state originariamente create dal controller di servizio. ACK Per ulteriori informazioni, consulta Adopt Existing AWS Resources nella documentazione. ACK

I passaggi seguenti mostrano come i nuovi SageMaker operatori per Kubernetes possono adottare un endpoint esistente. SageMaker Salva l’esempio seguente in un file denominato 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

Invia la risorsa personalizzata (CR) utilizzando kubectl apply:

kubectl apply -f adopt-endpoint-sample.yaml

Usa kubectl describe per verificare le condizioni di stato della risorsa adottata.

kubectl describe adoptedresource adopt-endpoint-sample

Verifica che la condizione ACK.Adopted sia True. L'output visualizzato dovrebbe essere simile al seguente esempio:

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

Verifica che la risorsa esista nel cluster:

kubectl describe endpoints.sagemaker xgboost-endpoint

HostingAutoscalingPolicyrisorse

La risorsa HostingAutoscalingPolicy (HAP) è composta da più risorse Application Auto Scaling: ScalableTarget e. ScalingPolicy Quando si adotta una HAP risorsa conACK, installa prima il controller Application Auto Scaling. Per adottare HAP le risorse, è necessario adottare entrambe ScalableTarget le ScalingPolicy risorse. È possibile trovare l'identificativo di risorsa per queste risorse nello stato della risorsa HostingAutoscalingPolicy (status.ResourceIDList).

HostingDeployment risorse

La HostingDeployment risorsa è composta da più SageMaker risorse: EndpointEndpointConfig, e ciascunaModel. Se si adotta un SageMaker endpoint inACK, è necessario adottare EndpointEndpointConfig, e ciascuno Model separatamente. I nomi Endpoint, EndpointConfig e Model si trovano nello stato HostingDeployment della risorsa (status.endpointName, status.endpointConfigName e status.modelNames).

Per un elenco di tutte le SageMaker risorse supportate, consulta il ACKAPIReference.

Rimozione delle risorse obsolete

Dopo che i nuovi SageMaker Operators for Kubernetes avranno adottato le tue risorse, puoi disinstallare i vecchi operatori e ripulire le vecchie risorse.

Fase 1: disinstallazione del precedente operatore

Per disinstallare il precedente operatore, consulta Eliminazione degli operatori.

avvertimento

Disinstalla il precedente operatore prima di eliminare le risorse obsolete.

Fase 2: rimozione dei finalizer ed eliminazione delle risorse obsolete

avvertimento

Prima di eliminare le risorse obsolete, assicurati di aver disinstallato il precedente operatore.

Dopo aver disinstallato il precedente operatore, è necessario rimuovere esplicitamente i finalizer per eliminare le risorse obsolete dell'operatore. Lo script di esempio seguente mostra come eliminare tutti i processi di addestramento gestiti dal precedente operatore in un determinato spazio dei nomi. È possibile utilizzare uno schema simile per eliminare risorse aggiuntive una volta adottate dal nuovo operatore.

Nota

È necessario utilizzare i nomi completi delle risorse per ottenerle. Ad esempio, utilizza kubectl get trainingjobs.sagemaker.aws.amazon.com anziché 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

Usa i nuovi SageMaker operatori per Kubernetes

Per guide approfondite sull'utilizzo dei nuovi SageMaker Operators for Kubernetes, consulta Usa Operators for Kubernetes SageMaker