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
Wenn Sie derzeit eine Version v1.2.2
oder eine niedrigere Version von SageMaker Operators for Kubernetes
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.
Inhalt
Voraussetzungen
Um Ressourcen erfolgreich auf die neuesten SageMaker Operators for Kubernetes zu migrieren, müssen Sie wie folgt vorgehen:
-
Installieren Sie die neuesten SageMaker Operators für Kubernetes. step-by-stepAnweisungen finden Sie unter Einrichtung
in Machine Learning mit dem ACK SageMaker Controller. -
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
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-ControllerScalableTarget
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: Endpoint
EndpointConfig
, und jederModel
. Wenn Sie einen SageMaker Endpunkt in übernehmenACK, müssen Sie die Endpunkte Endpoint
EndpointConfig
, 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