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.
Wir stellen die Entwicklung und den technischen Support der Originalversion von SageMaker Operators
Wenn Sie derzeit die 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 AI Operators for Kubernetes
Gehen Sie wie folgt vor, um Ihre Ressourcen zu migrieren, und verwenden Sie ACK, um Modelle für maschinelles Lernen mit Amazon SageMaker AI zu trainieren, zu optimieren und bereitzustellen.
Anmerkung
Die neuesten SageMaker KI-Operatoren für Kubernetes sind nicht abwärtskompatibel.
Inhalt
Voraussetzungen
Um Ressourcen erfolgreich auf die neuesten SageMaker KI-Operatoren für Kubernetes zu migrieren, müssen Sie wie folgt vorgehen:
-
Installieren Sie die neuesten SageMaker KI-Operatoren für Kubernetes. step-by-stepAnweisungen finden Sie unter Einrichtung
in Machine Learning mit dem SageMaker ACK AI Controller. -
Wenn Sie HostingAutoscalingPolicy-Ressourcen verwenden, installieren Sie die neuen Application Auto Scaling Operators. step-by-stepAnweisungen finden Sie unter Einrichtung
unter Skalieren von SageMaker KI-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 AI-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 KI-Operatoren für Kubernetes bieten die Möglichkeit, Ressourcen zu übernehmen, die ursprünglich nicht vom ACK Service Controller erstellt wurden. Weitere Informationen finden Sie in der ACK-Dokumentation unter Adoption vorhandener AWS Ressourcen
Die folgenden Schritte zeigen, wie die neuen SageMaker KI-Operatoren für Kubernetes einen vorhandenen SageMaker KI-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
HostingAutoscalingPolicy-Ressourcen
Die HostingAutoscalingPolicy
(HAP) -Ressource besteht aus mehreren Application Auto Scaling-Ressourcen: ScalableTarget
und ScalingPolicy
. Wenn Sie eine HAP-Ressource mit ACK verwenden, installieren Sie zuerst den Application Auto Scaling-ControllerScalableTarget
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 KI-Ressourcen: Endpoint
EndpointConfig
, und jederModel
. Wenn Sie einen SageMaker KI-Endpunkt in ACK verwenden, müssen Sie die Endpoint
EndpointConfig
, und jeweils Model
separat ü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 KI-Ressourcen finden Sie in der ACK-API-Referenz
Alte Ressourcen bereinigen
Nachdem die neuen SageMaker AI 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 KI-Operatoren für Kubernetes
Ausführliche Anleitungen zur Verwendung der neuen SageMaker KI-Operatoren für Kubernetes finden Sie unter Verwenden Sie SageMaker KI-Operatoren für Kubernetes