Migrer les ressources vers la dernière version d'Operators - Amazon SageMaker AI

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, nous vous recommandons de migrer vos ressources vers le contrôleur de service ACK pour Amazon. SageMaker Le contrôleur de service ACK est une nouvelle génération d' SageMaker opérateurs pour Kubernetes basés sur les AWS contrôleurs pour Kubernetes (ACK).

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.

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 :

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

  2. 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 dans la documentation ACK.

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'application. Pour adopter les ressources HAP, vous devez adopter les ressources ScalableTarget 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 EndpointEndpointConfig, 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