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
Se attualmente utilizzi una versione v1.2.2
o precedente di SageMaker Operators for Kubernetes
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.
Indice
Prerequisiti
Per migrare correttamente le risorse alla versione più recente di SageMaker Operators for Kubernetes, devi fare quanto segue:
-
Installa gli operatori più recenti per Kubernetes SageMaker . Per step-by-step istruzioni, consulta Configurazione
in Machine Learning con il ACK SageMaker controller. -
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
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 ScalingScalableTarget
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: Endpoint
EndpointConfig
, e ciascunaModel
. Se si adotta un SageMaker endpoint inACK, è necessario adottare Endpoint
EndpointConfig
, 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