Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Migrer les ressources vers la dernière version d'Operators
Nous arrêtons le développement et le support technique de la version originale d' SageMaker Operators for Kubernetes
Si vous utilisez actuellement la version v1.2.2
ou une version inférieure d' SageMaker Operators for Kubernetes
Pour obtenir les réponses aux questions fréquemment posées concernant la fin du support de la version originale d' SageMaker Operators for Kubernetes, voir Annonce de la fin du support de la version originale des opérateurs SageMaker AI pour Kubernetes
Suivez les étapes suivantes pour migrer vos ressources et utiliser ACK pour former, régler et déployer des modèles d'apprentissage automatique avec Amazon SageMaker AI.
Note
Les derniers opérateurs d' SageMaker IA pour Kubernetes ne sont pas rétrocompatibles.
Table des matières
Prérequis
Pour réussir la migration des ressources vers les derniers opérateurs SageMaker AI pour Kubernetes, vous devez effectuer les opérations suivantes :
-
Installez les derniers opérateurs d' SageMaker IA pour Kubernetes. Voir Configuration
dans Machine Learning avec le contrôleur ACK SageMaker AI pour step-by-step obtenir des instructions. -
Si vous utilisez Ressources HostingAutoscalingPolicy, installez les nouveaux opérateurs de mise à l'échelle automatique d'application. Voir Configuration
dans Scale SageMaker AI Workloads with Application Auto Scaling pour step-by-step obtenir des instructions. Cette étape est facultative si vous n'utilisez pas de HostingAutoScalingPolicy ressources.
Si les autorisations sont correctement configurées, le contrôleur de service ACK SageMaker AI peut déterminer les spécifications et l'état de la AWS ressource et réconcilier la ressource comme si le contrôleur ACK l'avait créée à l'origine.
Adoption des ressources
Les nouveaux opérateurs d' SageMaker IA pour Kubernetes permettent d'adopter des ressources qui n'ont pas été créées à l'origine par le contrôleur de service ACK. Pour plus d'informations, consultez Adopter les AWS ressources existantes
Les étapes suivantes montrent comment les nouveaux opérateurs d' SageMaker IA pour Kubernetes peuvent adopter un point de terminaison d'IA existant SageMaker . Enregistrez l'exemple suivant dans un fichier nommé 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
Soumettez la ressource personnalisée (CR) en utilisant kubectl apply
:
kubectl apply -f adopt-endpoint-sample.yaml
Utilisez kubectl describe
pour vérifier les conditions de statut de la ressource que vous avez adoptée.
kubectl describe adoptedresource adopt-endpoint-sample
Vérifiez que la condition ACK.Adopted
est True
. La sortie doit ressembler à cet exemple :
--- 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
Vérifiez que votre ressource existe dans votre cluster :
kubectl describe endpoints.sagemaker xgboost-endpoint
Ressources HostingAutoscalingPolicy
La ressource HostingAutoscalingPolicy
(HAP) comprend plusieurs ressources de mise à l'échelle automatique d'application : ScalableTarget
et ScalingPolicy
. Lorsque vous adoptez une ressource HAP avec ACK, commencez par installer le contrôleur de mise à l'échelle automatique d'applicationScalableTarget
et ScalingPolicy
. Vous trouverez l'identificateur de ces ressources dans le statut de la ressource HostingAutoscalingPolicy
(status.ResourceIDList
).
HostingDeployment ressources
La HostingDeployment
ressource se compose de plusieurs ressources d' SageMaker IA :Endpoint
,EndpointConfig
, et chacune d'ellesModel
. Si vous adoptez un point de terminaison SageMaker AI dans ACK, vous devez adopter le Endpoint
EndpointConfig
, et chacun Model
séparément. Les noms Endpoint
, EndpointConfig
et Model
peuvent être trouvés dans le statut de la ressource HostingDeployment
(status.endpointName
, status.endpointConfigName
et status.modelNames
).
Pour obtenir la liste de toutes les ressources d' SageMaker IA prises en charge, reportez-vous à la référence d'API ACK
Nettoyage des anciennes ressources
Une fois que les nouveaux opérateurs SageMaker AI pour Kubernetes auront adopté vos ressources, vous pourrez désinstaller les anciens opérateurs et nettoyer les anciennes ressources.
Étape 1 : désinstaller l'ancien opérateur
Pour désinstaller l'ancien opérateur, consultez Supprimer les opérateurs.
Avertissement
Désinstallez l'ancien opérateur avant de supprimer d'anciennes ressources.
Étape 2 : supprimer les finaliseurs et supprimer les anciennes ressources
Avertissement
Avant de supprimer les anciennes ressources, assurez-vous que l'ancien opérateur a été désinstallé.
Après avoir désinstallé l'ancien opérateur, vous devez supprimer explicitement les finaliseurs pour supprimer les anciennes ressources de l'opérateur. L'exemple de script ci-dessous montre comment supprimer toutes les tâches d'entraînement gérées par l'ancien opérateur dans un espace de noms donné. Vous pouvez utiliser un modèle similaire pour supprimer des ressources supplémentaires une fois qu'elles ont été adoptées par le nouvel opérateur.
Note
Vous devez utiliser les noms complets des ressources pour obtenir des ressources. Par exemple, utilisez kubectl get trainingjobs.sagemaker.aws.amazon.com
plutôt que 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
Utilisez les nouveaux opérateurs d' SageMaker IA pour Kubernetes
Pour des guides détaillés sur l'utilisation des nouveaux opérateurs d' SageMaker intelligence artificielle pour Kubernetes, voir Utiliser des opérateurs d' SageMaker IA pour Kubernetes