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à.
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 della versione originale di SageMaker AI Operators for Kubernetes
Utilizza i seguenti passaggi per migrare le tue risorse e utilizzare ACK per addestrare, ottimizzare e distribuire modelli di apprendimento automatico con Amazon SageMaker AI.
Nota
I più recenti operatori SageMaker AI per Kubernetes non sono retrocompatibili.
Indice
Prerequisiti
Per migrare correttamente le risorse agli ultimi SageMaker AI Operators for Kubernetes, devi fare quanto segue:
-
Installa gli operatori SageMaker AI più recenti per Kubernetes. Per step-by-step istruzioni, consulta Configurazione
in Machine Learning con il controller ACK SageMaker AI. -
Se usi Risorse HostingAutoscalingPolicy, installa i nuovi Application Auto Scaling Operators. Per istruzioni, consulta Configurazione
dei carichi di lavoro SageMaker AI in scala con Application Auto Scaling. step-by-step Questo passaggio è facoltativo se non utilizzi HostingAutoScalingPolicy risorse.
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 stato il controller ACK a crearla originariamente.
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 di SageMaker intelligenza artificiale 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
Risorse HostingAutoscalingPolicy
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 SageMaker AI: Endpoint
EndpointConfig
, e ciascunaModel
. Se si adotta un endpoint di SageMaker intelligenza artificiale in ACK, è necessario adottare i 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 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_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 operatori SageMaker AI per Kubernetes
Per guide approfondite sull'utilizzo dei nuovi operatori SageMaker AI per Kubernetes, consulta Usa SageMaker AI Operators per Kubernetes