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 stai utilizzando una versione precedente v1.2.2 di SageMaker Operators for Kubernetes
Per le risposte alle domande frequenti sulla fine del supporto della versione originale di Operators for Kubernetes, vedi SageMaker Annuncio della fine del supporto della versione originale di AI Operators for Kubernetes SageMaker
Segui i passaggi seguenti per migrare le tue risorse e usa ACK per addestrare, ottimizzare e distribuire modelli di machine learning con Amazon AI. SageMaker
Nota
I più recenti operatori di SageMaker intelligenza artificiale per Kubernetes non sono retrocompatibili.
Indice
Prerequisiti
Per migrare correttamente le risorse agli ultimi operatori di SageMaker intelligenza artificiale per Kubernetes, devi fare quanto segue:
-
Installa gli operatori SageMaker AI più recenti per Kubernetes. Per istruzioni dettagliate, consulta Configurazione
in Machine Learning con ACK SageMaker AI Controller. -
Se usi HostingAutoscalingPolicy risorse, installa i nuovi Application Auto Scaling Operators. Per istruzioni dettagliate, consulta Setup
in Scale SageMaker AI Workloads with Application Auto Scaling. Questo passaggio è facoltativo se non utilizzi risorse. HostingAutoScalingPolicy
Se le autorizzazioni sono configurate correttamente, il controller di servizio ACK SageMaker AI può determinare le specifiche e lo stato della AWS risorsa e riconciliare la risorsa come se fosse stata creata originariamente dal controller ACK.
Adozione di risorse
I nuovi operatori SageMaker AI per 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
I passaggi seguenti mostrano come i nuovi operatori SageMaker AI per Kubernetes possono adottare un endpoint AI 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
HostingAutoscalingPolicy risorse
La risorsa HostingAutoscalingPolicy (HAP) è composta da più risorse Application Auto Scaling: ScalableTarget e ScalingPolicy. Quando si adotta una risorsa HAP con ACK, è necessario innanzitutto installare il controller Application Auto ScalingScalableTarget sia ScalingPolicy. È possibile trovare l'identificativo di risorsa per queste risorse nello stato della risorsa HostingAutoscalingPolicy (status.ResourceIDList).
HostingDeployment risorse
La HostingDeployment risorsa è composta da più risorse di SageMaker intelligenza artificiale: EndpointEndpointConfig, e ciascunaModel. Se si adotta un endpoint SageMaker AI in ACK, è necessario adottare i 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 risorse SageMaker AI supportate, consulta l'ACK API Reference
Rimozione delle risorse obsolete
Dopo che i nuovi operatori SageMaker AI per Kubernetes avranno adottato le tue risorse, potrai 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_namespacetraining_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 operatori SageMaker AI per Kubernetes
Per guide approfondite sull'uso dei nuovi operatori SageMaker AI per Kubernetes, consulta Usa gli operatori SageMaker AI per Kubernetes