Migrieren Sie Ressourcen zu den neuesten Operatoren - Amazon SageMaker

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Migrieren Sie Ressourcen zu den neuesten Operatoren

Wir stellen die Entwicklung und den technischen Support der Originalversion von SageMaker Operators for Kubernetes ein.

Wenn Sie derzeit eine Version v1.2.2 oder eine niedrigere Version von SageMaker Operators for Kubernetes verwenden, empfehlen wir, Ihre Ressourcen auf den ACKService Controller für Amazon zu migrieren. SageMaker Der ACK Service Controller ist eine neue Generation von SageMaker Operatoren für Kubernetes, die auf AWS Controllers for Kubernetes () basieren. ACK

Antworten auf häufig gestellte Fragen zum Ende der Unterstützung für die Originalversion von SageMaker Operators for Kubernetes finden Sie unter Ankündigung des Endes der Support der Originalversion von SageMaker Operators for Kubernetes

Gehen Sie wie folgt vor, um Ihre Ressourcen ACK zu migrieren und Modelle für maschinelles Lernen mit Amazon zu trainieren, zu optimieren und bereitzustellen SageMaker.

Anmerkung

Die neuesten SageMaker Operators für Kubernetes sind nicht abwärtskompatibel.

Voraussetzungen

Um Ressourcen erfolgreich auf die neuesten SageMaker Operators for Kubernetes zu migrieren, müssen Sie wie folgt vorgehen:

  1. Installieren Sie die neuesten SageMaker Operators für Kubernetes. step-by-stepAnweisungen finden Sie unter Einrichtung in Machine Learning mit dem ACK SageMaker Controller.

  2. Wenn Sie HostingAutoscalingPolicyRessourcen verwenden, installieren Sie die neuen Application Auto Scaling Operators. step-by-stepAnweisungen finden Sie unter Einrichtung in Skalieren von SageMaker Workloads mit Application Auto Scaling. Dieser Schritt ist optional, wenn Sie keine HostingAutoScalingPolicy Ressourcen verwenden.

Wenn die Berechtigungen korrekt konfiguriert sind, kann der ACK SageMaker Service Controller die Spezifikation und den Status der Ressource ermitteln und die AWS Ressource abgleichen, als ob der ACK Controller sie ursprünglich erstellt hätte.

Ressourcen übernehmen

Die neuen SageMaker Operatoren für Kubernetes bieten die Möglichkeit, Ressourcen zu übernehmen, die ursprünglich nicht vom Service Controller erstellt wurden. ACK Weitere Informationen finden Sie in der Dokumentation unter Adoption vorhandener AWS Ressourcen. ACK

Die folgenden Schritte zeigen, wie die neuen SageMaker Operatoren für Kubernetes einen vorhandenen SageMaker Endpunkt übernehmen können. Speichern Sie das folgende Beispiel in einer Datei mit dem Namen 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

Reichen Sie die benutzerdefinierte Ressource (CR) ein mit: kubectl apply

kubectl apply -f adopt-endpoint-sample.yaml

Verwenden Sie kubectl describe diese Option, um die Statusbedingungen Ihrer verwendeten Ressource zu überprüfen.

kubectl describe adoptedresource adopt-endpoint-sample

Stellen Sie sicher, dass der ACK.Adopted Zustand True ist. Die Ausgabe sollte ähnlich wie im folgenden Beispiel aussehen:

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

Überprüfen Sie, ob Ihre Ressource in Ihrem Cluster vorhanden ist:

kubectl describe endpoints.sagemaker xgboost-endpoint

HostingAutoscalingPolicyRessourcen

Die Ressource HostingAutoscalingPolicy (HAP) besteht aus mehreren Application Auto Scaling Scaling-Ressourcen: ScalableTarget undScalingPolicy. Wenn Sie eine HAP Ressource mit übernehmenACK, installieren Sie zuerst den Application Auto Scaling Scaling-Controller. Um HAP Ressourcen einsetzen zu können, müssen Sie ScalableTarget sowohl als auch ScalingPolicy Ressourcen einsetzen. Die Ressourcen-ID für diese Ressourcen finden Sie im Status der HostingAutoscalingPolicy Ressource (status.ResourceIDList).

HostingDeployment Ressourcen

Die HostingDeployment Ressource besteht aus mehreren SageMaker Ressourcen: EndpointEndpointConfig, und jederModel. Wenn Sie einen SageMaker Endpunkt in übernehmenACK, müssen Sie die Endpunkte EndpointEndpointConfig, und beide Model einzeln übernehmen. Die Namen Endpoint, EndpointConfig und Model sind im Status der Ressource HostingDeployment zu finden (status.endpointName, status.endpointConfigName, und status.modelNames).

Eine Liste aller unterstützten SageMaker Ressourcen finden Sie in der ACKAPIReferenz.

Alte Ressourcen bereinigen

Nachdem die neuen SageMaker Operators for Kubernetes Ihre Ressourcen übernommen haben, können Sie alte Operatoren deinstallieren und alte Ressourcen bereinigen.

Schritt 1: Deinstallieren Sie den alten Operator

Informationen zur Deinstallation des alten Operators finden Sie unter Operatoren löschen.

Warnung

Deinstallieren Sie den alten Operator, bevor Sie alte Ressourcen löschen.

Schritt 2: Entfernen Sie die Finalizer und löschen Sie alte Ressourcen

Warnung

Stellen Sie vor dem Löschen alter Ressourcen sicher, dass Sie den alten Operator deinstalliert haben.

Nach der Deinstallation des alten Operators müssen Sie die Finalizer explizit entfernen, um alte Operatorressourcen zu löschen. Das folgende Beispielskript zeigt, wie Sie alle Trainingsauftrags löschen, die vom alten Operator in einem bestimmten Namespace verwaltet wurden. Sie können ein ähnliches Muster verwenden, um zusätzliche Ressourcen zu löschen, sobald sie vom neuen Operator übernommen wurden.

Anmerkung

Sie müssen die vollständigen Ressourcennamen verwenden, um Ressourcen abzurufen. Verwenden Sie z. B. kubectl get trainingjobs.sagemaker.aws.amazon.com statt 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

Verwenden Sie die neuen SageMaker Operatoren für Kubernetes

Ausführliche Anleitungen zur Verwendung der neuen SageMaker Operatoren für Kubernetes finden Sie unter Verwenden Sie SageMaker Operatoren für Kubernetes