

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
<a name="kubernetes-sagemaker-operators-migrate"></a>

Wir stellen die Entwicklung und den technischen Support der Originalversion von [ SageMaker Operators](https://github.com/aws/amazon-sagemaker-operator-for-k8s/tree/master) for Kubernetes ein.

Wenn Sie derzeit die Version `v1.2.2` oder eine niedrigere Version von [ SageMaker Operators for Kubernetes](https://github.com/aws/amazon-sagemaker-operator-for-k8s/tree/master) verwenden, empfehlen wir, Ihre Ressourcen auf den [ACK Service Controller](https://github.com/aws-controllers-k8s/sagemaker-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](https://aws-controllers-k8s.github.io/community/) Kubernetes (ACK) basieren.

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](kubernetes-sagemaker-operators-eos-announcement.md)

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.

**Topics**
+ [Voraussetzungen](#migrate-resources-to-new-operators-prerequisites)
+ [Ressourcen übernehmen](#migrate-resources-to-new-operators-steps)
+ [Alte Ressourcen bereinigen](#migrate-resources-to-new-operators-cleanup)
+ [Verwenden Sie die neuen SageMaker KI-Operatoren für Kubernetes](#migrate-resources-to-new-operators-tutorials)

## Voraussetzungen
<a name="migrate-resources-to-new-operators-prerequisites"></a>

Um Ressourcen erfolgreich auf die neuesten SageMaker KI-Operatoren für Kubernetes zu migrieren, müssen Sie wie folgt vorgehen:

1. Installieren Sie die neuesten SageMaker KI-Operatoren für Kubernetes. step-by-stepAnweisungen finden Sie unter [Einrichtung](https://aws-controllers-k8s.github.io/community/docs/tutorials/sagemaker-example/#setup) in *Machine Learning mit dem SageMaker ACK AI Controller*.

1. Wenn Sie [HostingAutoscalingPolicy Ressourcen](#migrate-resources-to-new-operators-hap) verwenden, installieren Sie die neuen Application Auto Scaling Operators. step-by-stepAnweisungen finden Sie unter [Einrichtung](https://aws-controllers-k8s.github.io/community/docs/tutorials/autoscaling-example/#setup) 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
<a name="migrate-resources-to-new-operators-steps"></a>

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](https://aws-controllers-k8s.github.io/community/docs/user-docs/adopted-resource/).

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
<a name="migrate-resources-to-new-operators-hap"></a>

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-Controller](https://github.com/aws-controllers-k8s/applicationautoscaling-controller). Um HAP-Ressourcen einzusetzen, müssen Sie sowohl `ScalableTarget` als auch `ScalingPolicy` Ressourcen einsetzen. Die Ressourcen-ID für diese Ressourcen finden Sie im Status der `HostingAutoscalingPolicy` Ressource (`status.ResourceIDList`).

### HostingDeployment Ressourcen
<a name="migrate-resources-to-new-operators-hosting-deployment"></a>

Die `HostingDeployment` Ressource besteht aus mehreren SageMaker KI-Ressourcen: `Endpoint``EndpointConfig`, und jeder`Model`. 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](https://aws-controllers-k8s.github.io/community/reference/).

## Alte Ressourcen bereinigen
<a name="migrate-resources-to-new-operators-cleanup"></a>

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
<a name="migrate-resources-to-new-operators-uninstall"></a>

Informationen zur Deinstallation des alten Operators finden Sie unter [Operatoren löschen](kubernetes-sagemaker-operators-end-of-support.md#delete-operators).

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

### Schritt 2: Entfernen Sie die Finalizer und löschen Sie alte Ressourcen
<a name="migrate-resources-to-new-operators-delete-resources"></a>

**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
<a name="migrate-resources-to-new-operators-tutorials"></a>

Ausführliche Anleitungen zur Verwendung der neuen SageMaker KI-Operatoren für Kubernetes finden Sie unter [Verwenden Sie SageMaker KI-Operatoren für Kubernetes](kubernetes-sagemaker-operators-ack.md#kubernetes-sagemaker-operators-ack-use)