

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.

# Alte SageMaker KI-Operatoren für Kubernetes
<a name="kubernetes-sagemaker-operators-end-of-support"></a>

Dieser Abschnitt basiert auf der Originalversion von [SageMaker AI Operators for](https://github.com/aws/amazon-sagemaker-operator-for-k8s) Kubernetes.

**Wichtig**  
Wir stellen die Entwicklung und den technischen Support der Originalversion von [ SageMaker Operators for](https://github.com/aws/amazon-sagemaker-operator-for-k8s/tree/master) 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.  
Informationen zu den Migrationsschritten finden Sie unter [Migrieren Sie Ressourcen zu den neuesten Operatoren](kubernetes-sagemaker-operators-migrate.md).  
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)

**Topics**
+ [Installieren Sie SageMaker AI Operators für Kubernetes](#kubernetes-sagemaker-operators-eos-install)
+ [Verwenden Sie Amazon SageMaker AI Jobs](kubernetes-sagemaker-jobs.md)
+ [Migrieren Sie Ressourcen zu den neuesten Operatoren](kubernetes-sagemaker-operators-migrate.md)
+ [Ankündigung des Endes der Support der Originalversion von SageMaker AI Operators for Kubernetes](kubernetes-sagemaker-operators-eos-announcement.md)

## Installieren Sie SageMaker AI Operators für Kubernetes
<a name="kubernetes-sagemaker-operators-eos-install"></a>

Gehen Sie wie folgt vor, um SageMaker AI Operators for Kubernetes zu installieren und zu verwenden, um Modelle für maschinelles Lernen mit Amazon SageMaker AI zu trainieren, zu optimieren und bereitzustellen.

**Topics**
+ [Auf IAM-Rolle basierende Einrichtung und Bereitstellung eines Operators](#iam-role-based-setup-and-operator-deployment)
+ [Bereinigen von Ressourcen](#cleanup-operator-resources)
+ [Operatoren löschen](#delete-operators)
+ [Fehlerbehebung](#troubleshooting)
+ [Bilder und SMlogs in jeder Region](#images-and-smlogs-in-each-region)

### Auf IAM-Rolle basierende Einrichtung und Bereitstellung eines Operators
<a name="iam-role-based-setup-and-operator-deployment"></a>

In den folgenden Abschnitten werden die Schritte zum Einrichten und Bereitstellen der Originalversion des Operators beschrieben.

**Warnung**  
**Erinnerung: Mit** den folgenden Schritten wird nicht die neueste Version von SageMaker AI Operators for Kubernetes installiert. Informationen zur Installation der neuen ACK-basierten SageMaker KI-Operatoren für Kubernetes finden Sie unter. [Aktuelle SageMaker KI-Operatoren für Kubernetes](kubernetes-sagemaker-operators-ack.md)

#### Voraussetzungen
<a name="prerequisites"></a>

In diesem Leitfaden wird davon ausgegangen, dass Sie die folgenden Voraussetzungen erfüllt haben: 
+ Installieren Sie die folgenden Tools auf dem Client-Computer, der für den Zugriff auf Ihren Kubernetes-Cluster verwendet wird: 
  + [https://docs.aws.amazon.com/eks/latest/userguide/install-kubectl.html](https://docs.aws.amazon.com/eks/latest/userguide/install-kubectl.html), Version 1.13 oder höher. Verwenden Sie eine `kubectl`-Version, die innerhalb einer Nebenversion Ihrer Amazon EKS-Cluster-Kontrollebene liegt. Ein 1.13 `kubectl`-Client funktioniert zum Beispiel mit Kubernetes 1.13- und 1.14-Clustern. OpenID Connect (OIDC) wird in Versionen vor 1.13 nicht unterstützt. 
  + [https://github.com/weaveworks/eksctl](https://github.com/weaveworks/eksctl)-Version 0.7.0 oder höher 
  + [AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/install-cliv1.html) Version 1.16.232 oder höher 
  + (optional) [Helm](https://helm.sh/docs/intro/install/)-Version 3.0 oder höher 
  + [aws-iam-authenticator](https://docs.aws.amazon.com/eks/latest/userguide/install-aws-iam-authenticator.html) 
+ IAM-Berechtigungen zum Erstellen von Rollen und zum Zuordnen von Richtlinien zu Rollen haben.
+ Es wurde ein Kubernetes-Cluster erstellt, auf dem die Operatoren ausgeführt werden sollen. Es sollte entweder Kubernetes Version 1.13 oder 1.14 sein. Informationen zur automatisierten Clustererstellung mithilfe von finden Sie unter [Starten mit eksctl`eksctl`](https://docs.aws.amazon.com/eks/latest/userguide/getting-started-eksctl.html). Die Bereitstellung eines Clusters dauert 20-30 Minuten. 

#### Bereitstellung im Clusterbereich
<a name="cluster-scoped-deployment"></a>

Bevor Sie Ihren Operator mithilfe einer IAM-Rolle bereitstellen können, ordnen Sie Ihrer Rolle einen OpenID Connect (OIDC) Identity Provider (IdP) zu, um sich beim IAM-Service zu authentifizieren.

##### Erstellen Sie einen OIDC-Anbieter für Ihren Cluster
<a name="create-an-openid-connect-provider-for-your-cluster"></a>

Die folgenden Anweisungen zeigen, wie Sie einen OIDC-Anbieter erstellen und Ihrem Amazon EKS-Cluster zuordnen.

1. Legen Sie die lokalen Variablen `CLUSTER_NAME` und die `AWS_REGION`-Umgebungsvariablen wie folgt fest:

   ```
   # Set the Region and cluster
   export CLUSTER_NAME="<your cluster name>"
   export AWS_REGION="<your region>"
   ```

1. Verwenden Sie den folgenden Befehl, um den OIDC-Anbieter Ihrem Cluster zuzuordnen. Weitere Informationen finden Sie unter [Aktivieren von IAM-Rollen für Service-Konten in Ihrem Cluster](https://docs.aws.amazon.com/eks/latest/userguide/enable-iam-roles-for-service-accounts.html). 

   ```
   eksctl utils associate-iam-oidc-provider --cluster ${CLUSTER_NAME} \
         --region ${AWS_REGION} --approve
   ```

   Die Ausgabe sollte folgendermaßen aussehen: 

   ```
   [_]  eksctl version 0.10.1
     [_]  using region us-east-1
     [_]  IAM OpenID Connect provider is associated with cluster "my-cluster" in "us-east-1"
   ```

Da der Cluster nun über einen OIDC-Identitätsanbieter verfügt, können Sie eine Rolle erstellen und Kubernetes ServiceAccount die Erlaubnis erteilen, die Rolle zu übernehmen.

##### Holen Sie sich die OIDC-ID
<a name="get-the-oidc-id"></a>

Rufen Sie zur Einrichtung die URL des ServiceAccount OIDC-Ausstellers mit dem folgenden Befehl ab:

```
aws eks describe-cluster --name ${CLUSTER_NAME} --region ${AWS_REGION} \
      --query cluster.identity.oidc.issuer --output text
```

Der Befehl gibt eine URL wie die folgende zurück: 

```
https://oidc.eks.${AWS_REGION}.amazonaws.com/id/D48675832CA65BD10A532F597OIDCID
```

In dieser URL ist der Wert `D48675832CA65BD10A532F597OIDCID` die OIDC-ID. Die OIDC-ID für Ihren Cluster ist unterschiedlich. Sie benötigen diesen OIDC-ID-Wert, um eine Rolle zu erstellen. 

 Wenn Ihre Ausgabe `None` ist, bedeutet das, dass Ihre Client-Version alt ist. Führen Sie zum Umgehen des Problems den folgenden Befehl aus: 

```
aws eks describe-cluster --region ${AWS_REGION} --query cluster --name ${CLUSTER_NAME} --output text | grep OIDC
```

Die OIDC-URL wird wie folgt zurückgegeben: 

```
OIDC https://oidc.eks.us-east-1.amazonaws.com/id/D48675832CA65BD10A532F597OIDCID
```

##### Erstellen einer IAM-Rolle
<a name="create-an-iam-role"></a>

1. Erstellen Sie eine Datei mit dem Namen `trust.json` und fügen Sie den folgenden Vertrauensstellungs-Codeblock ein. Achten Sie darauf, alle `<OIDC ID>`, `<AWS account number>`, und `<EKS Cluster region>`-Platzhalter durch Werte zu ersetzen, die Ihrem Cluster entsprechen. 

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
         {
           "Effect": "Allow",
           "Principal": {
             "Federated": "arn:aws:iam::111122223333:oidc-provider/oidc.eks.<EKS Cluster region>.amazonaws.com/id/<OIDC ID>"
           },
           "Action": "sts:AssumeRoleWithWebIdentity",
           "Condition": {
             "StringEquals": {
               "oidc.eks.<EKS Cluster region>.amazonaws.com/id/<OIDC ID>:aud": "sts.amazonaws.com",
               "oidc.eks.<EKS Cluster region>.amazonaws.com/id/<OIDC ID>:sub": "system:serviceaccount:sagemaker-k8s-operator-system:sagemaker-k8s-operator-default"
             }
           }
         }
       ]
     }
   ```

------

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
         {
           "Effect": "Allow",
           "Principal": {
             "Federated": "arn:aws-cn:iam::111122223333:oidc-provider/oidc.eks.<EKS Cluster region>.amazonaws.com/id/<OIDC ID>"
           },
           "Action": "sts:AssumeRoleWithWebIdentity",
           "Condition": {
             "StringEquals": {
               "oidc.eks.<EKS Cluster region>.amazonaws.com/id/<OIDC ID>:aud": "sts.amazonaws.com",
               "oidc.eks.<EKS Cluster region>.amazonaws.com/id/<OIDC ID>:sub": "system:serviceaccount:sagemaker-k8s-operator-system:sagemaker-k8s-operator-default"
             }
           }
         }
       ]
     }
   ```

------

1. Führen Sie den folgenden Befehl aus, um eine Rolle mit der unter `trust.json` definierten Vertrauensstellung zu erstellen. Diese Rolle ermöglicht es dem Amazon EKS-Cluster, Anmeldeinformationen von IAM abzurufen und zu aktualisieren. 

   ```
   aws iam create-role --region ${AWS_REGION} --role-name <role name> --assume-role-policy-document file://trust.json --output=text
   ```

   Die Ausgabe sollte folgendermaßen aussehen: 

   ```
   ROLE    arn:aws:iam::123456789012:role/my-role 2019-11-22T21:46:10Z    /       ABCDEFSFODNN7EXAMPLE   my-role
   ASSUMEROLEPOLICYDOCUMENT        2012-10-17		 	 	 
   STATEMENT       sts:AssumeRoleWithWebIdentity   Allow
   STRINGEQUALS    sts.amazonaws.com       system:serviceaccount:sagemaker-k8s-operator-system:sagemaker-k8s-operator-default
   PRINCIPAL       arn:aws:iam::123456789012:oidc-provider/oidc.eks.us-east-1.amazonaws.com/id/
   ```

    Achten Sie auf `ROLE ARN`; Sie übergeben diesen Wert an Ihren Operator. 

##### Hängen Sie die AmazonSageMakerFullAccess Richtlinie an die Rolle an
<a name="attach-the-amazonsagemakerfullaccess-policy-to-the-role"></a>

Um der Rolle Zugriff auf SageMaker KI zu gewähren, fügen Sie die [AmazonSageMakerFullAccess](https://console.aws.amazon.com/iam/home?#/policies/arn:aws:iam::aws:policy/AmazonSageMakerFullAccess)Richtlinie bei. Wenn Sie die Berechtigungen auf den Operator beschränken möchten, können Sie Ihre eigene benutzerdefinierte Richtlinie erstellen und diese anhängen. 

 Um `AmazonSageMakerFullAccess` anzuhängen, führen Sie den folgenden Befehl aus: 

```
aws iam attach-role-policy --role-name <role name>  --policy-arn arn:aws:iam::aws:policy/AmazonSageMakerFullAccess
```

Die Kubernetes ServiceAccount `sagemaker-k8s-operator-default` sollten über Berechtigungen verfügen`AmazonSageMakerFullAccess`. Bestätigen Sie dies, wenn Sie den Operator installieren. 

##### Bereitstellen des Operators
<a name="deploy-the-operator"></a>

Bei der Bereitstellung Ihres Operators können Sie entweder eine YAML-Datei oder Helm-Diagramme verwenden. 

##### Stellen Sie den Operator mit YAML bereit
<a name="deploy-the-operator-using-yaml"></a>

Dies ist die einfachste Möglichkeit, Ihre Operatoren bereitzustellen. Der Prozess läuft folgendermaßen ab: 

1. Laden Sie das Installationsskript mit dem folgenden Befehl herunter: 

   ```
   wget https://raw.githubusercontent.com/aws/amazon-sagemaker-operator-for-k8s/master/release/rolebased/installer.yaml
   ```

1. Bearbeiten Sie die zu ersetzende `installer.yaml` Datei`eks.amazonaws.com/role-arn`. Ersetzen Sie den ARN hier durch den Amazon-Ressourcennamen (ARN) für die OIDC-basierte Rolle, die Sie erstellt haben. 

1. Verwenden Sie den folgenden Befehl, um den Cluster bereitzustellen: 

   ```
   kubectl apply -f installer.yaml
   ```

##### Stellen Sie den Operator mithilfe von Helm Charts bereit
<a name="deploy-the-operator-using-helm-charts"></a>

Verwenden Sie das mitgelieferte Helm-Diagramm, um den Operator zu installieren. 

1. Klonen Sie das Helm-Installationsverzeichnis mit dem folgenden Befehl: 

   ```
   git clone https://github.com/aws/amazon-sagemaker-operator-for-k8s.git
   ```

1. Navigieren Sie zum Verzeichnis `amazon-sagemaker-operator-for-k8s/hack/charts/installer`. Bearbeiten Sie die `rolebased/values.yaml` Datei, die allgemeine Parameter für das Diagramm enthält. Ersetzen Sie hier den Rollen-ARN durch den Amazon-Ressourcennamen (ARN) für die OIDC-basierte Rolle, die Sie erstellt haben. 

1. Installieren Sie das Helm Diagramm mit dem folgenden Befehl: 

   ```
   kubectl create namespace sagemaker-k8s-operator-system
     helm install --namespace sagemaker-k8s-operator-system sagemaker-operator rolebased/
   ```

   Wenn Sie den Operator in einem anderen als dem angegebenen Namespace installieren möchten, müssen Sie den in der IAM-Rollen–`trust.json`datei definierten Namespace entsprechend anpassen. 

1. Nach einem Moment wird das Diagramm mit einem zufällig generierten Namen installiert. Überprüfen Sie, ob die Installation erfolgreich war, indem Sie den folgenden Befehl ausführen: 

   ```
   helm ls
   ```

   Die Ausgabe sollte folgendermaßen aussehen: 

   ```
   NAME                    NAMESPACE                       REVISION        UPDATED                                 STATUS          CHART                           APP VERSION
     sagemaker-operator      sagemaker-k8s-operator-system   1               2019-11-20 23:14:59.6777082 +0000 UTC   deployed        sagemaker-k8s-operator-0.1.0
   ```

##### Überprüfen Sie den Einsatz des Operators
<a name="verify-the-operator-deployment"></a>

1. Sie sollten in der Lage sein, die benutzerdefinierten SageMaker KI-Ressourcendefinitionen (CRDs) für jeden in Ihrem Cluster bereitgestellten Operator zu sehen, indem Sie den folgenden Befehl ausführen: 

   ```
   kubectl get crd | grep sagemaker
   ```

   Die Ausgabe sollte folgendermaßen aussehen: 

   ```
   batchtransformjobs.sagemaker.aws.amazon.com         2019-11-20T17:12:34Z
   endpointconfigs.sagemaker.aws.amazon.com            2019-11-20T17:12:34Z
   hostingdeployments.sagemaker.aws.amazon.com         2019-11-20T17:12:34Z
   hyperparametertuningjobs.sagemaker.aws.amazon.com   2019-11-20T17:12:34Z
   models.sagemaker.aws.amazon.com                     2019-11-20T17:12:34Z
   trainingjobs.sagemaker.aws.amazon.com               2019-11-20T17:12:34Z
   ```

1. Stellen Sie sicher, dass der Operator-Pod erfolgreich ausgeführt wird. Verwenden Sie den folgenden Befehl, um alle Pods aufzulisten: 

   ```
   kubectl -n sagemaker-k8s-operator-system get pods
   ```

   Sie sollten einen Pod mit dem Namen `sagemaker-k8s-operator-controller-manager-*****` im Namespace `sagemaker-k8s-operator-system` wie folgt sehen: 

   ```
   NAME                                                         READY   STATUS    RESTARTS   AGE
   sagemaker-k8s-operator-controller-manager-12345678-r8abc     2/2     Running   0          23s
   ```

#### Bereitstellung im Namespace-Bereich
<a name="namespace-scoped-deployment"></a>

Sie haben die Möglichkeit, Ihren Operator im Rahmen eines individuellen Kubernetes-Namespace zu installieren. In diesem Modus überwacht der Controller Ressourcen nur dann und gleicht sie mit SageMaker KI ab, wenn die Ressourcen in diesem Namespace erstellt wurden. Dies ermöglicht eine genauere Kontrolle darüber, welcher Controller welche Ressourcen verwaltet. Dies ist nützlich, wenn Sie die Bereitstellung für mehrere AWS Konten durchführen oder kontrollieren möchten, welche Benutzer Zugriff auf bestimmte Jobs haben. 

In dieser Anleitung wird beschrieben, wie ein Operator in einem bestimmten, vordefinierten Namespace installiert wird. Um einen Controller in einem zweiten Namespace bereitzustellen, folgen Sie der Anleitung von Anfang bis Ende und ändern Sie den Namespace in jedem Schritt. 

##### Erstellen Sie einen OIDC-Anbieter für Ihren Amazon EKS-Cluster
<a name="create-an-openid-connect-provider-for-your-eks-cluster"></a>

Die folgenden Anweisungen zeigen, wie Sie einen OIDC-Anbieter erstellen und mit Ihrem Amazon EKS-Cluster verknüpfen. 

1. Legen Sie die lokalen Variablen `CLUSTER_NAME` und die `AWS_REGION`-Umgebungsvariablen wie folgt fest: 

   ```
   # Set the Region and cluster
   export CLUSTER_NAME="<your cluster name>"
   export AWS_REGION="<your region>"
   ```

1. Verwenden Sie den folgenden Befehl, um den OIDC-Anbieter Ihrem Cluster zuzuordnen. Weitere Informationen finden Sie unter [Aktivieren von IAM-Rollen für Service-Konten in Ihrem Cluster](https://docs.aws.amazon.com/eks/latest/userguide/enable-iam-roles-for-service-accounts.html). 

   ```
   eksctl utils associate-iam-oidc-provider --cluster ${CLUSTER_NAME} \
         --region ${AWS_REGION} --approve
   ```

   Die Ausgabe sollte folgendermaßen aussehen: 

   ```
   [_]  eksctl version 0.10.1
     [_]  using region us-east-1
     [_]  IAM OpenID Connect provider is associated with cluster "my-cluster" in "us-east-1"
   ```

Da der Cluster nun über einen OIDC-Identitätsanbieter verfügt, erstellen Sie eine Rolle und erteilen Sie Kubernetes die ServiceAccount Erlaubnis, die Rolle zu übernehmen. 

##### Holen Sie sich Ihre OIDC-ID
<a name="get-your-oidc-id"></a>

Um das einzurichten ServiceAccount, rufen Sie zunächst die OpenID Connect-Aussteller-URL mit dem folgenden Befehl ab: 

```
aws eks describe-cluster --name ${CLUSTER_NAME} --region ${AWS_REGION} \
      --query cluster.identity.oidc.issuer --output text
```

Die Ausgabe des Befehls ähnelt der Folgenden: 

```
https://oidc.eks.${AWS_REGION}.amazonaws.com/id/D48675832CA65BD10A532F597OIDCID
```

In dieser URL ist der Wert CA65 BD10 D48675832 A532F597OIDCID die OIDC-ID. Die OIDC-ID für Ihren Cluster ist unterschiedlich. Sie benötigen diesen OIDC-ID-Wert, um eine Rolle zu erstellen. 

 Wenn Ihre Ausgabe `None` ist, bedeutet das, dass Ihre Client-Version alt ist. Führen Sie zum Umgehen des Problems den folgenden Befehl aus: 

```
aws eks describe-cluster --region ${AWS_REGION} --query cluster --name ${CLUSTER_NAME} --output text | grep OIDC
```

Die OIDC-URL wird wie folgt zurückgegeben: 

```
OIDC https://oidc.eks.us-east-1.amazonaws.com/id/D48675832CA65BD10A532F597OIDCID
```

##### Erstellen Sie Ihre IAM-Rolle
<a name="create-your-iam-role"></a>

1. Erstellen Sie eine Datei mit dem Namen `trust.json` und fügen Sie den folgenden Codeblock für Vertrauensbeziehungen ein. Achten Sie darauf, alle `<OIDC ID>`, `<AWS account number>`, `<EKS Cluster region>`, und `<Namespace>` und Platzhalter durch Werte zu ersetzen, die Ihrem Cluster entsprechen. Für die Zwecke dieses Handbuchs `my-namespace` wird für den `<Namespace>` Wert verwendet. 

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
         {
           "Effect": "Allow",
           "Principal": {
           "Federated": "arn:aws:iam::111122223333:oidc-provider/oidc.eks.<EKS Cluster region>.amazonaws.com/id/<OIDC ID>"
           },
           "Action": "sts:AssumeRoleWithWebIdentity",
           "Condition": {
             "StringEquals": {
                 "oidc.eks.<EKS Cluster region>.amazonaws.com/id/<OIDC ID>:aud": "sts.amazonaws.com",
                 "oidc.eks.<EKS Cluster region>.amazonaws.com/id/<OIDC ID>:sub": "system:serviceaccount:<Namespace>:sagemaker-k8s-operator-default"
             }
           }
         }
       ]
     }
   ```

------

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
         {
           "Effect": "Allow",
           "Principal": {
             "Federated": "arn:aws-cn:iam::111122223333:oidc-provider/oidc.eks.<EKS Cluster region>.amazonaws.com/id/<OIDC ID>"
           },
           "Action": "sts:AssumeRoleWithWebIdentity",
           "Condition": {
             "StringEquals": {
                 "oidc.eks.<EKS Cluster region>.amazonaws.com/id/<OIDC ID>:aud": "sts.amazonaws.com",
                 "oidc.eks.<EKS Cluster region>.amazonaws.com/id/<OIDC ID>:sub": "system:serviceaccount:<Namespace>:sagemaker-k8s-operator-default"
             }
           }
         }
       ]
     }
   ```

------

1. Führen Sie den folgenden Befehl aus, um eine Rolle mit der unter `trust.json` definierten Vertrauensstellung zu erstellen. Diese Rolle ermöglicht es dem Amazon EKS-Cluster, Anmeldeinformationen von IAM abzurufen und zu aktualisieren. 

   ```
   aws iam create-role --region ${AWS_REGION} --role-name <role name> --assume-role-policy-document file://trust.json --output=text
   ```

   Die Ausgabe sollte folgendermaßen aussehen: 

   ```
   ROLE    arn:aws:iam::123456789012:role/my-role 2019-11-22T21:46:10Z    /       ABCDEFSFODNN7EXAMPLE   my-role
     ASSUMEROLEPOLICYDOCUMENT        2012-10-17		 	 	 
     STATEMENT       sts:AssumeRoleWithWebIdentity   Allow
     STRINGEQUALS    sts.amazonaws.com       system:serviceaccount:my-namespace:sagemaker-k8s-operator-default
     PRINCIPAL       arn:aws:iam::123456789012:oidc-provider/oidc.eks.us-east-1.amazonaws.com/id/
   ```

Beachten Sie `ROLE ARN`. Sie geben diesen Wert an Ihren Operator weiter. 

##### AmazonSageMakerFullAccess Ordnen Sie die Richtlinie Ihrer Rolle zu
<a name="attach-the-amazonsagemakerfullaccess-policy-to-your-role"></a>

Um der Rolle Zugriff auf SageMaker KI zu gewähren, fügen Sie die [https://console.aws.amazon.com/iam/home?#/policies/arn:aws:iam::aws:policy/AmazonSageMakerFullAccess](https://console.aws.amazon.com/iam/home?#/policies/arn:aws:iam::aws:policy/AmazonSageMakerFullAccess)Richtlinie bei. Wenn Sie die Berechtigungen auf den Operator beschränken möchten, können Sie Ihre eigene benutzerdefinierte Richtlinie erstellen und diese anhängen. 

 Um `AmazonSageMakerFullAccess` anzuhängen, führen Sie den folgenden Befehl aus: 

```
aws iam attach-role-policy --role-name <role name>  --policy-arn arn:aws:iam::aws:policy/AmazonSageMakerFullAccess
```

Die Kubernetes ServiceAccount `sagemaker-k8s-operator-default` sollten über Berechtigungen verfügen`AmazonSageMakerFullAccess`. Bestätigen Sie dies, wenn Sie den Operator installieren. 

##### Stellen Sie den Operator in Ihrem Namespace bereit
<a name="deploy-the-operator-to-your-namespace"></a>

Bei der Bereitstellung Ihres Operators können Sie entweder eine YAML-Datei oder Helm-Diagramme verwenden. 

##### Stellen Sie den Operator mithilfe von YAML in Ihrem Namespace bereit
<a name="deploy-the-operator-to-your-namespace-using-yaml"></a>

Die Bereitstellung eines Operators innerhalb eines Namespaces besteht aus zwei Teilen. Der erste ist der Satz davon CRDs , der auf Clusterebene installiert ist. Diese Ressourcendefinitionen müssen nur einmal pro Kubernetes-Cluster installiert werden. Der zweite Teil betrifft die Bedienerberechtigungen und die Bereitstellung selbst. 

 Wenn Sie das CRDs noch nicht im Cluster installiert haben, wenden Sie das CRD-Installationsprogramm YAML mit dem folgenden Befehl an: 

```
kubectl apply -f https://raw.githubusercontent.com/aws/amazon-sagemaker-operator-for-k8s/master/release/rolebased/namespaced/crd.yaml
```

Um den Operator auf dem Cluster zu installieren: 

1. Laden Sie das Operator-Installationsprogramm YAML mit dem folgenden Befehl herunter: 

   ```
   wget https://raw.githubusercontent.com/aws/amazon-sagemaker-operator-for-k8s/master/release/rolebased/namespaced/operator.yaml
   ```

1. Aktualisieren Sie das Installationsprogramm YAML mit dem folgenden Befehl, sodass die Ressourcen in Ihrem angegebenen Namespace platziert werden: 

   ```
   sed -i -e 's/PLACEHOLDER-NAMESPACE/<YOUR NAMESPACE>/g' operator.yaml
   ```

1. Bearbeiten Sie die `operator.yaml` Datei, um Ressourcen in Ihrem `eks.amazonaws.com/role-arn` zu platzieren. Ersetzen Sie den ARN hier durch den Amazon-Ressourcennamen (ARN) für die OIDC-basierte Rolle, die Sie erstellt haben. 

1. Verwenden Sie den folgenden Befehl, um den Cluster bereitzustellen: 

   ```
   kubectl apply -f operator.yaml
   ```

##### Stellen Sie den Operator mithilfe von Helm Charts in Ihrem Namespace bereit
<a name="deploy-the-operator-to-your-namespace-using-helm-charts"></a>

Für die Bereitstellung eines Operators im Rahmen eines Namespaces sind zwei Teile erforderlich. Der erste ist der Satz CRDs , der auf Clusterebene installiert ist. Diese Ressourcendefinitionen müssen nur einmal pro Kubernetes-Cluster installiert werden. Der zweite Teil betrifft die Bedienerberechtigungen und die Bereitstellung selbst. Wenn Sie Helm Charts verwenden, müssen Sie zuerst den Namespace mit `kubectl` erstellen. 

1. Klonen Sie das Helm-Installationsverzeichnis mit dem folgenden Befehl: 

   ```
   git clone https://github.com/aws/amazon-sagemaker-operator-for-k8s.git
   ```

1. Navigieren Sie zum Verzeichnis `amazon-sagemaker-operator-for-k8s/hack/charts/installer/namespaced`. Bearbeiten Sie die `rolebased/values.yaml` Datei, die allgemeine Parameter für das Diagramm enthält. Ersetzen Sie hier den Rollen-ARN durch den Amazon-Ressourcennamen (ARN) für die OIDC-basierte Rolle, die Sie erstellt haben. 

1. Installieren Sie das Helm Chart mit dem folgenden Befehl: 

   ```
   helm install crds crd_chart/
   ```

1. Erstellen Sie den erforderlichen Namespace und installieren Sie den Operator mit dem folgenden Befehl: 

   ```
   kubectl create namespace <namespace>
   helm install --n <namespace> op operator_chart/
   ```

1. Nach einem Moment wird das Diagramm mit dem Namen `sagemaker-operator` installiert. Überprüfen Sie, ob die Installation erfolgreich war, indem Sie den folgenden Befehl ausführen: 

   ```
   helm ls
   ```

   Die Ausgabe sollte folgendermaßen aussehen: 

   ```
   NAME                    NAMESPACE                       REVISION        UPDATED                                 STATUS          CHART                           APP VERSION
   sagemaker-operator      my-namespace                    1               2019-11-20 23:14:59.6777082 +0000 UTC   deployed        sagemaker-k8s-operator-0.1.0
   ```

##### Überprüfen Sie die Operator-Bereitstellung in Ihrem Namespace
<a name="verify-the-operator-deployment-to-your-namespace"></a>

1. Sie sollten in der Lage sein, die benutzerdefinierten SageMaker KI-Ressourcendefinitionen (CRDs) für jeden in Ihrem Cluster bereitgestellten Operator zu sehen, indem Sie den folgenden Befehl ausführen: 

   ```
   kubectl get crd | grep sagemaker
   ```

   Die Ausgabe sollte folgendermaßen aussehen: 

   ```
   batchtransformjobs.sagemaker.aws.amazon.com         2019-11-20T17:12:34Z
   endpointconfigs.sagemaker.aws.amazon.com            2019-11-20T17:12:34Z
   hostingdeployments.sagemaker.aws.amazon.com         2019-11-20T17:12:34Z
   hyperparametertuningjobs.sagemaker.aws.amazon.com   2019-11-20T17:12:34Z
   models.sagemaker.aws.amazon.com                     2019-11-20T17:12:34Z
   trainingjobs.sagemaker.aws.amazon.com               2019-11-20T17:12:34Z
   ```

1. Stellen Sie sicher, dass der Operator-Pod erfolgreich ausgeführt wird. Verwenden Sie den folgenden Befehl, um alle Pods aufzulisten: 

   ```
   kubectl -n my-namespace get pods
   ```

   Sie sollten einen Pod mit dem Namen `sagemaker-k8s-operator-controller-manager-*****` im Namespace `my-namespace` wie folgt sehen: 

   ```
   NAME                                                         READY   STATUS    RESTARTS   AGE
   sagemaker-k8s-operator-controller-manager-12345678-r8abc     2/2     Running   0          23s
   ```

#### Installieren Sie das SageMaker `kubectl` KI-Logs-Plugin
<a name="install-the-amazon-sagemaker-logs-kubectl-plugin"></a>

 Als Teil der SageMaker AI Operators for Kubernetes können Sie das `smlogs` [Plugin](https://kubernetes.io/docs/tasks/extend-kubectl/kubectl-plugins/) für verwenden. `kubectl` Dadurch können SageMaker CloudWatch KI-Logs mit gestreamt werden. `kubectl` `kubectl`muss auf Ihrem [PATH](http://www.linfo.org/path_env_var.html) installiert sein. Die folgenden Befehle platzieren die Binärdatei in dem `sagemaker-k8s-bin` Verzeichnis in Ihrem Home-Verzeichnis und fügen dieses Verzeichnis Ihrem `PATH` hinzu. 

```
export os="linux"
  
wget https://amazon-sagemaker-operator-for-k8s-us-east-1.s3.amazonaws.com/kubectl-smlogs-plugin/v1/${os}.amd64.tar.gz
tar xvzf ${os}.amd64.tar.gz
  
# Move binaries to a directory in your homedir.
mkdir ~/sagemaker-k8s-bin
cp ./kubectl-smlogs.${os}.amd64/kubectl-smlogs ~/sagemaker-k8s-bin/.
  
# This line adds the binaries to your PATH in your .bashrc.
  
echo 'export PATH=$PATH:~/sagemaker-k8s-bin' >> ~/.bashrc
  
# Source your .bashrc to update environment variables:
source ~/.bashrc
```

Verwenden Sie den folgenden Befehl, um zu überprüfen, ob das`kubectl`-Plugin korrekt installiert ist: 

```
kubectl smlogs
```

Wenn das `kubectl`-Plugin korrekt installiert ist, sollte Ihre Ausgabe wie folgt aussehen: 

```
View SageMaker AI logs via Kubernetes
  
Usage:
  smlogs [command]
  
Aliases:
  smlogs, SMLogs, Smlogs
  
Available Commands:
  BatchTransformJob       View BatchTransformJob logs via Kubernetes
  TrainingJob             View TrainingJob logs via Kubernetes
  help                    Help about any command
  
Flags:
   -h, --help   help for smlogs
  
Use "smlogs [command] --help" for more information about a command.
```

### Bereinigen von Ressourcen
<a name="cleanup-operator-resources"></a>

Um den Operator aus Ihrem Cluster zu deinstallieren, müssen Sie zunächst sicherstellen, dass Sie alle SageMaker KI-Ressourcen aus dem Cluster löschen. Wenn Sie dies nicht tun, hängt der Löschvorgang des Operators ab. Führen Sie die folgenden Befehle aus, um alle Aufträge zu stoppen: 

```
# Delete all SageMaker AI jobs from Kubernetes
kubectl delete --all --all-namespaces hyperparametertuningjob.sagemaker.aws.amazon.com
kubectl delete --all --all-namespaces trainingjobs.sagemaker.aws.amazon.com
kubectl delete --all --all-namespaces batchtransformjob.sagemaker.aws.amazon.com
kubectl delete --all --all-namespaces hostingdeployment.sagemaker.aws.amazon.com
```

Die Ausgabe sollte folgendermaßen oder ähnlich aussehen: 

```
$ kubectl delete --all --all-namespaces trainingjobs.sagemaker.aws.amazon.com
trainingjobs.sagemaker.aws.amazon.com "xgboost-mnist-from-for-s3" deleted
  
$ kubectl delete --all --all-namespaces hyperparametertuningjob.sagemaker.aws.amazon.com
hyperparametertuningjob.sagemaker.aws.amazon.com "xgboost-mnist-hpo" deleted
  
$ kubectl delete --all --all-namespaces batchtransformjob.sagemaker.aws.amazon.com
batchtransformjob.sagemaker.aws.amazon.com "xgboost-mnist" deleted
  
$ kubectl delete --all --all-namespaces hostingdeployment.sagemaker.aws.amazon.com
hostingdeployment.sagemaker.aws.amazon.com "host-xgboost" deleted
```

Nachdem Sie alle SageMaker KI-Jobs gelöscht haben, finden Sie weitere Informationen [Operatoren löschen](#delete-operators) zum Löschen des Operators aus Ihrem Cluster.

### Operatoren löschen
<a name="delete-operators"></a>

#### Löschen Sie clusterbasierte Operatoren
<a name="delete-cluster-based-operators"></a>

##### Operatoren, die mit YAML installiert wurden
<a name="operators-installed-using-yaml"></a>

Um den Operator aus Ihrem Cluster zu deinstallieren, stellen Sie sicher, dass alle SageMaker KI-Ressourcen aus dem Cluster gelöscht wurden. Wenn Sie dies nicht tun, hängt der Löschvorgang des Operators ab.

**Anmerkung**  
Stellen Sie vor dem Löschen Ihres Clusters sicher, dass Sie alle SageMaker KI-Ressourcen aus dem Cluster löschen. Weitere Informationen finden Sie unter [Bereinigen von Ressourcen](#cleanup-operator-resources).

Nachdem Sie alle SageMaker KI-Jobs gelöscht haben, verwenden Sie, `kubectl` um den Operator aus dem Cluster zu löschen:

```
# Delete the operator and its resources
kubectl delete -f /installer.yaml
```

Die Ausgabe sollte folgendermaßen oder ähnlich aussehen: 

```
$ kubectl delete -f raw-yaml/installer.yaml
namespace "sagemaker-k8s-operator-system" deleted
customresourcedefinition.apiextensions.k8s.io "batchtransformjobs.sagemaker.aws.amazon.com" deleted
customresourcedefinition.apiextensions.k8s.io "endpointconfigs.sagemaker.aws.amazon.com" deleted
customresourcedefinition.apiextensions.k8s.io "hostingdeployments.sagemaker.aws.amazon.com" deleted
customresourcedefinition.apiextensions.k8s.io "hyperparametertuningjobs.sagemaker.aws.amazon.com" deleted
customresourcedefinition.apiextensions.k8s.io "models.sagemaker.aws.amazon.com" deleted
customresourcedefinition.apiextensions.k8s.io "trainingjobs.sagemaker.aws.amazon.com" deleted
role.rbac.authorization.k8s.io "sagemaker-k8s-operator-leader-election-role" deleted
clusterrole.rbac.authorization.k8s.io "sagemaker-k8s-operator-manager-role" deleted
clusterrole.rbac.authorization.k8s.io "sagemaker-k8s-operator-proxy-role" deleted
rolebinding.rbac.authorization.k8s.io "sagemaker-k8s-operator-leader-election-rolebinding" deleted
clusterrolebinding.rbac.authorization.k8s.io "sagemaker-k8s-operator-manager-rolebinding" deleted
clusterrolebinding.rbac.authorization.k8s.io "sagemaker-k8s-operator-proxy-rolebinding" deleted
service "sagemaker-k8s-operator-controller-manager-metrics-service" deleted
deployment.apps "sagemaker-k8s-operator-controller-manager" deleted
secrets "sagemaker-k8s-operator-abcde" deleted
```

##### Mithilfe von Helm Charts installierte Operatoren
<a name="operators-installed-using-helm-charts"></a>

Um den Operator zu löschen CRDs, löschen Sie zunächst alle laufenden Jobs. Löschen Sie dann das Helm-Diagramm, das für die Bereitstellung der Operatoren verwendet wurde, mithilfe der folgenden Befehle: 

```
# get the helm charts
helm ls
  
# delete the charts
helm delete <chart_name>
```

#### Löschen Sie Namespace-basierte Operatoren
<a name="delete-namespace-based-operators"></a>

##### Mit YAML installierte Operatoren
<a name="operators-installed-with-yaml"></a>

Um den Operator aus Ihrem Cluster zu deinstallieren, stellen Sie zunächst sicher, dass alle SageMaker KI-Ressourcen aus dem Cluster gelöscht wurden. Wenn Sie dies nicht tun, hängt der Löschvorgang des Operators ab.

**Anmerkung**  
Stellen Sie vor dem Löschen Ihres Clusters sicher, dass Sie alle SageMaker KI-Ressourcen aus dem Cluster löschen. Weitere Informationen finden Sie unter [Bereinigen von Ressourcen](#cleanup-operator-resources).

Nachdem Sie alle SageMaker KI-Jobs gelöscht haben, verwenden Sie, `kubectl` um zuerst den Operator aus dem Namespace und dann CRDs aus dem Cluster zu löschen. Führen Sie die folgenden Befehle aus, um den Operator aus dem Cluster zu löschen: 

```
# Delete the operator using the same yaml file that was used to install the operator
kubectl delete -f operator.yaml
  
# Now delete the CRDs using the CRD installer yaml
kubectl delete -f https://raw.githubusercontent.com/aws/amazon-sagemaker-operator-for-k8s/master/release/rolebased/namespaced/crd.yaml
  
# Now you can delete the namespace if you want
kubectl delete namespace <namespace>
```

##### Operatoren, die mit Helm Charts installiert wurden
<a name="operators-installed-with-helm-charts"></a>

Um den Operator zu löschen CRDs, löschen Sie zunächst alle laufenden Jobs. Löschen Sie dann das Helm-Diagramm, das für die Bereitstellung der Operatoren verwendet wurde, mithilfe der folgenden Befehle: 

```
# Delete the operator
helm delete <chart_name>
  
# delete the crds
helm delete crds
  
# optionally delete the namespace
kubectl delete namespace <namespace>
```

### Fehlerbehebung
<a name="troubleshooting"></a>

#### Debuggen eines fehlgeschlagenen Jobs
<a name="debugging-a-failed-job"></a>

Gehen Sie wie folgt vor, um einen fehlgeschlagenen Job zu debuggen.
+ Überprüfen Sie den Auftragsstatus, indem Sie Folgendes ausführen: 

  ```
  kubectl get <CRD Type> <job name>
  ```
+ Wenn der Job in SageMaker AI erstellt wurde, können Sie den folgenden Befehl verwenden, um das `STATUS` und das zu sehen`SageMaker Job Name`: 

  ```
  kubectl get <crd type> <job name>
  ```
+ Sie können `smlogs` verwenden, um die Ursache des Problems mit dem folgenden Befehl zu finden: 

  ```
  kubectl smlogs <crd type> <job name>
  ```
+  Sie können den `describe` Befehl auch verwenden, um weitere Details zum Job mithilfe des folgenden Befehls anzuzeigen. Die Ausgabe enthält ein `additional` Feld mit weiteren Informationen zum Status des Jobs. 

  ```
  kubectl describe <crd type> <job name>
  ```
+ Wenn der Job nicht in SageMaker AI erstellt wurde, verwenden Sie die Protokolle des Pods des Operators, um die Ursache des Problems wie folgt zu ermitteln: 

  ```
  $ kubectl get pods -A | grep sagemaker
  # Output:
  sagemaker-k8s-operator-system   sagemaker-k8s-operator-controller-manager-5cd7df4d74-wh22z   2/2     Running   0          3h33m
    
  $ kubectl logs -p <pod name> -c manager -n sagemaker-k8s-operator-system
  ```

#### Löschen einer Bediener-CRD
<a name="deleting-an-operator-crd"></a>

Wenn das Löschen eines Jobs nicht funktioniert, überprüfen Sie, ob der Operator läuft. Wenn der Operator nicht läuft, müssen Sie den Finalizer mit den folgenden Schritten löschen: 

1. Öffnen Sie den Auftrag in einem neuen Terminal in einem Editor mit `kubectl edit` wie folgt: 

   ```
   kubectl edit <crd type> <job name>
   ```

1. Bearbeiten Sie den Job, um den Finalizer zu löschen, indem Sie die folgenden zwei Zeilen aus der Datei entfernen. Speichern Sie die Datei und der Job wird gelöscht. 

   ```
   finalizers:
     - sagemaker-operator-finalizer
   ```

### Bilder und SMlogs in jeder Region
<a name="images-and-smlogs-in-each-region"></a>

In der folgenden Tabelle sind die verfügbaren Operator-Bilder für jede Region aufgeführt. SMLogs 


|  Region  |  Controller-Bild  |  Linux SMLogs  | 
| --- | --- | --- | 
|  us-east-1  |  957583890962.dkr.ecr.us-east-1.amazonaws.com/amazon-sagemaker-operator-for-k8s:v1  |  [https://s3.us-east-1.amazonaws.com/amazon-sagemaker-operator-for-k8s-us-east-1/kubectl-smlogs-plugin/v1/linux.amd64.tar.gz](https://s3.us-east-1.amazonaws.com/amazon-sagemaker-operator-for-k8s-us-east-1/kubectl-smlogs-plugin/v1/linux.amd64.tar.gz)  | 
|  us-east-2  |  922499468684.dkr.ecr.us-east-2.amazonaws.com/amazon-sagemaker-operator-for-k8s:v1  |  [https://s3.us-east-2.amazonaws.com/amazon-sagemaker-operator-for-k8s-us-east-2/kubectl-smlogs-plugin/v1/linux.amd64.tar.gz](https://s3.us-east-2.amazonaws.com/amazon-sagemaker-operator-for-k8s-us-east-2/kubectl-smlogs-plugin/v1/linux.amd64.tar.gz)  | 
|  us-west-2  |  640106867763.dkr.ecr.us-west-2.amazonaws.com/amazon-sagemaker-operator-for-k8s:v1  |  [https://s3.us-west-2.amazonaws.com/amazon-sagemaker-operator-for-k8s-us-west-2/kubectl-smlogs-plugin/v1/linux.amd64.tar.gz](https://s3.us-west-2.amazonaws.com/amazon-sagemaker-operator-for-k8s-us-west-2/kubectl-smlogs-plugin/v1/linux.amd64.tar.gz)  | 
|  eu-west-1  |  613661167059.dkr.ecr.eu-west-1.amazonaws.com/amazon-sagemaker-operator-for-k8s:v1  |  [https://s3.eu-west-1.amazonaws.com/amazon-sagemaker-operator-for-k8s-eu-west-1/kubectl-smlogs-plugin/v1/linux.amd64.tar.gz](https://s3.eu-west-1.amazonaws.com/amazon-sagemaker-operator-for-k8s-eu-west-1/kubectl-smlogs-plugin/v1/linux.amd64.tar.gz)  | 

# Verwenden Sie Amazon SageMaker AI Jobs
<a name="kubernetes-sagemaker-jobs"></a>

Dieser Abschnitt basiert auf der Originalversion von [SageMaker AI Operators for](https://github.com/aws/amazon-sagemaker-operator-for-k8s) Kubernetes.

**Wichtig**  
Wir stellen die Entwicklung und den technischen Support der Originalversion von [ SageMaker Operators for](https://github.com/aws/amazon-sagemaker-operator-for-k8s/tree/master) 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.  
Informationen zu den Migrationsschritten finden Sie unter [Migrieren Sie Ressourcen zu den neuesten Operatoren](kubernetes-sagemaker-operators-migrate.md).  
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)

Um einen Amazon SageMaker AI-Job mit den Operatoren für Kubernetes auszuführen, können Sie entweder eine YAML-Datei anwenden oder die mitgelieferten Helm Charts verwenden. 

Alle Beispiel-Operator-Jobs in den folgenden Tutorials verwenden Beispieldaten aus einem öffentlichen MNIST-Datensatz. Um diese Beispiele auszuführen, laden Sie den Datensatz in Ihren Amazon-S3-Bucket herunter. Sie finden den Datensatz unter [MNIST-Datensatz herunterladen](https://docs.aws.amazon.com/sagemaker/latest/dg/ex1-preprocess-data-pull-data.html). 

**Topics**
+ [Der Operator TrainingJob](#trainingjob-operator)
+ [Der HyperParameterTuningJob Betreiber](#hyperparametertuningjobs-operator)
+ [Der BatchTransformJob Betreiber](#batchtransformjobs-operator)
+ [Der HostingDeployment Betreiber](#hosting-deployment-operator)
+ [Der Betreiber ProcessingJob](#kubernetes-processing-job-operator)
+ [HostingAutoscalingPolicy (HAP) Betreiber](#kubernetes-hap-operator)

## Der Operator TrainingJob
<a name="trainingjob-operator"></a>

Die Mitarbeiter der Schulungsstelle stimmen Ihre spezifizierten Ausbildungsberufsspezifikationen mit der SageMaker KI ab, indem sie sie für Sie in SageMaker der KI starten. In der SageMaker [CreateTrainingJob KI-API-Dokumentation](https://docs.aws.amazon.com/sagemaker/latest/dg/API_CreateTrainingJob.html) erfahren Sie mehr über SageMaker Trainingsjobs. 

**Topics**
+ [Erstellen Sie eine TrainingJob mit einer YAML-Datei](#create-a-trainingjob-using-a-simple-yaml-file)
+ [Erstellen Sie ein Diagramm TrainingJob mit Hilfe eines Helms](#create-a-trainingjob-using-a-helm-chart)
+ [Liste TrainingJobs](#list-training-jobs)
+ [Beschreiben Sie ein TrainingJob](#describe-a-training-job)
+ [Protokolle anzeigen von TrainingJobs](#view-logs-from-training-jobs)
+ [Löschen TrainingJobs](#delete-training-jobs)

### Erstellen Sie eine TrainingJob mit einer YAML-Datei
<a name="create-a-trainingjob-using-a-simple-yaml-file"></a>

1. Laden Sie die YAML-Beispieldatei für das Training mit dem folgenden Befehl herunter: 

   ```
   wget https://raw.githubusercontent.com/aws/amazon-sagemaker-operator-for-k8s/master/samples/xgboost-mnist-trainingjob.yaml
   ```

1. Bearbeiten Sie die `xgboost-mnist-trainingjob.yaml` Datei`<sagemaker-execution-role>`, um den `roleArn` Parameter durch Ihren und `outputPath` Ihren Amazon S3 S3-Bucket zu ersetzen, auf den die SageMaker AI-Ausführungsrolle Schreibzugriff hat. Sie `roleArn` müssen über Berechtigungen verfügen, damit SageMaker KI in Ihrem Namen auf Amazon S3 CloudWatch, Amazon und andere Dienste zugreifen kann. Weitere Informationen zur Erstellung einer SageMaker KI finden Sie ExecutionRole unter [SageMaker KI-Rollen](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-roles.html#sagemaker-roles-createtrainingjob-perms). Wenden Sie die YAML-Datei mit folgendem Befehl an: 

   ```
   kubectl apply -f xgboost-mnist-trainingjob.yaml
   ```

### Erstellen Sie ein Diagramm TrainingJob mit Hilfe eines Helms
<a name="create-a-trainingjob-using-a-helm-chart"></a>

Sie können Helm Charts zum Laufen verwenden TrainingJobs. 

1. Klonen Sie das GitHub Repository, um die Quelle abzurufen, indem Sie den folgenden Befehl verwenden: 

   ```
   git clone https://github.com/aws/amazon-sagemaker-operator-for-k8s.git
   ```

1. Navigieren Sie zum `amazon-sagemaker-operator-for-k8s/hack/charts/training-jobs/` Ordner und bearbeiten Sie die `values.yaml` Datei, um Werte wie `rolearn` und `outputpath` durch Werte zu ersetzen, die Ihrem Konto entsprechen. Das RoleARN muss über Berechtigungen verfügen, damit SageMaker KI in Ihrem Namen auf Amazon S3 CloudWatch, Amazon und andere Dienste zugreifen kann. Weitere Informationen zur Erstellung einer SageMaker KI finden Sie ExecutionRole unter [SageMaker KI-Rollen](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-roles.html#sagemaker-roles-createtrainingjob-perms). 

#### Erstellen Sie die TrainingJob
<a name="create-the-training-job"></a>

Nachdem die Rollen und Amazon-S3-Buckets durch die entsprechenden Werte in `values.yaml` ersetzt wurden, können Sie mit dem folgenden Befehl einen Trainingsjob erstellen: 

```
helm install . --generate-name
```

Die Ausgabe sollte folgendermaßen aussehen: 

```
NAME: chart-12345678
LAST DEPLOYED: Wed Nov 20 23:35:49 2019
NAMESPACE: default
STATUS: deployed
REVISION: 1
TEST SUITE: None
NOTES:
Thanks for installing the sagemaker-k8s-trainingjob.
```

#### Überprüfen Sie Ihre Trainings-Helmtabelle
<a name="verify-your-training-helm-chart"></a>

Um zu überprüfen, ob das Helm Chart erfolgreich erstellt wurde, führe folgenden Befehl aus: 

```
helm ls
```

Die Ausgabe sollte folgendermaßen aussehen: 

```
NAME                    NAMESPACE       REVISION        UPDATED                                 STATUS          CHART                           APP VERSION
chart-12345678        default         1               2019-11-20 23:35:49.9136092 +0000 UTC   deployed        sagemaker-k8s-trainingjob-0.1.0
rolebased-12345678    default         1               2019-11-20 23:14:59.6777082 +0000 UTC   deployed        sagemaker-k8s-operator-0.1.0
```

`helm install` erstellt eine `TrainingJob` Kubernetes-Ressource. Der Operator startet den eigentlichen Schulungsjob in SageMaker KI und aktualisiert die `TrainingJob` Kubernetes-Ressource, um den Status des Jobs in SageMaker KI widerzuspiegeln. Es fallen Gebühren für SageMaker KI-Ressourcen an, die Sie während der Dauer Ihres Jobs nutzen. Sobald Ihr Auftrag abgeschlossen oder beendet ist, fallen für Sie keine Gebühren an. 

**Hinweis**: Mit SageMaker KI können Sie einen Lauftrainingsjob nicht aktualisieren. Sie können keinen Parameter bearbeiten und die Konfigurationsdatei erneut anwenden. Ändern Sie entweder den Namen der Metadaten oder löschen Sie den vorhandenen Job und erstellen Sie einen neuen. Ähnlich wie bei bestehenden Trainingsjobs werden Operatoren wie TFJob in Kubeflow nicht `update` unterstützt. 

### Liste TrainingJobs
<a name="list-training-jobs"></a>

Verwenden Sie den folgenden Befehl, um alle Aufträge aufzulisten, die mit dem Kubernetes-Operator erstellt wurden: 

```
kubectl get TrainingJob
```

Die Ausgabe, die alle Aufträge auflistet, sollte wie folgt aussehen: 

```
kubectl get trainingjobs
NAME                        STATUS       SECONDARY-STATUS   CREATION-TIME          SAGEMAKER-JOB-NAME
xgboost-mnist-from-for-s3   InProgress   Starting           2019-11-20T23:42:35Z   xgboost-mnist-from-for-s3-examplef11eab94e0ed4671d5a8f
```

Ein Trainingsjob wird weiterhin aufgeführt, nachdem der Job abgeschlossen wurde oder fehlgeschlagen ist. Sie können einen `TrainingJob` Job aus der Liste entfernen, indem Sie die folgenden [Löschen TrainingJobs](#delete-training-jobs) Schritte ausführen. Für Aufträge, die abgeschlossen oder beendet wurden, fallen keine Gebühren für SageMaker KI-Ressourcen an. 

#### TrainingJob Statuswerte
<a name="training-job-status-values"></a>

Das Feld `STATUS` kann einen der folgenden Werte annehmen: 
+ `Completed` 
+ `InProgress` 
+ `Failed` 
+ `Stopped` 
+ `Stopping` 

Diese Status stammen direkt aus der offiziellen [API-Dokumentation](https://docs.aws.amazon.com/sagemaker/latest/dg/API_DescribeTrainingJob.html#SageMaker-DescribeTrainingJob-response-TrainingJobStatus) von SageMaker AI. 

Zusätzlich zum offiziellen SageMaker KI-Status ist es möglich, auch `STATUS` zu sein`SynchronizingK8sJobWithSageMaker`. Das bedeutet, dass der Bediener den Auftrag noch nicht bearbeitet hat. 

#### Sekundäre Statuswerte
<a name="secondary-status-values"></a>

Die sekundären Status stammen direkt aus der offiziellen [API-Dokumentation](https://docs.aws.amazon.com/sagemaker/latest/dg/API_DescribeTrainingJob.html#SageMaker-DescribeTrainingJob-response-SecondaryStatus) von SageMaker AI. Sie enthalten detailliertere Informationen zum Status des Jobs. 

### Beschreiben Sie ein TrainingJob
<a name="describe-a-training-job"></a>

Weitere Informationen zum Trainingsjob erhalten Sie mit dem `describe` `kubectl` Befehl. Dies wird normalerweise zum Debuggen eines Problems oder zum Überprüfen der Parameter eines Trainingsauftrags verwendet. Um Informationen zu Ihrem Ausbildungsberuf zu erhalten, verwenden Sie den folgenden Befehl: 

```
kubectl describe trainingjob xgboost-mnist-from-for-s3
```

Die Ausgabe für Ihren Trainingsjob sollte wie folgt aussehen: 

```
Name:         xgboost-mnist-from-for-s3
Namespace:    default
Labels:       <none>
Annotations:  <none>
API Version:  sagemaker.aws.amazon.com/v1
Kind:         TrainingJob
Metadata:
  Creation Timestamp:  2019-11-20T23:42:35Z
  Finalizers:
    sagemaker-operator-finalizer
  Generation:        2
  Resource Version:  23119
  Self Link:         /apis/sagemaker.aws.amazon.com/v1/namespaces/default/trainingjobs/xgboost-mnist-from-for-s3
  UID:               6d7uiui-0bef-11ea-b94e-0ed467example
Spec:
  Algorithm Specification:
    Training Image:       8256416981234.dkr.ecr.us-east-2.amazonaws.com/xgboost:1
    Training Input Mode:  File
  Hyper Parameters:
    Name:   eta
    Value:  0.2
    Name:   gamma
    Value:  4
    Name:   max_depth
    Value:  5
    Name:   min_child_weight
    Value:  6
    Name:   num_class
    Value:  10
    Name:   num_round
    Value:  10
    Name:   objective
    Value:  multi:softmax
    Name:   silent
    Value:  0
  Input Data Config:
    Channel Name:      train
    Compression Type:  None
    Content Type:      text/csv
    Data Source:
      S 3 Data Source:
        S 3 Data Distribution Type:  FullyReplicated
        S 3 Data Type:               S3Prefix
        S 3 Uri:                     https://s3-us-east-2.amazonaws.com/amzn-s3-demo-bucket/sagemaker/xgboost-mnist/train/
    Channel Name:                    validation
    Compression Type:                None
    Content Type:                    text/csv
    Data Source:
      S 3 Data Source:
        S 3 Data Distribution Type:  FullyReplicated
        S 3 Data Type:               S3Prefix
        S 3 Uri:                     https://s3-us-east-2.amazonaws.com/amzn-s3-demo-bucket/sagemaker/xgboost-mnist/validation/
  Output Data Config:
    S 3 Output Path:  s3://amzn-s3-demo-bucket/sagemaker/xgboost-mnist/xgboost/
  Region:             us-east-2
  Resource Config:
    Instance Count:     1
    Instance Type:      ml.m4.xlarge
    Volume Size In GB:  5
  Role Arn:             arn:aws:iam::12345678910:role/service-role/AmazonSageMaker-ExecutionRole
  Stopping Condition:
    Max Runtime In Seconds:  86400
  Training Job Name:         xgboost-mnist-from-for-s3-6d7fa0af0bef11eab94e0example
Status:
  Cloud Watch Log URL:           https://us-east-2.console.aws.amazon.com/cloudwatch/home?region=us-east-2#logStream:group=/aws/sagemaker/TrainingJobs;prefix=<example>;streamFilter=typeLogStreamPrefix
  Last Check Time:               2019-11-20T23:44:29Z
  Sage Maker Training Job Name:  xgboost-mnist-from-for-s3-6d7fa0af0bef11eab94eexample
  Secondary Status:              Downloading
  Training Job Status:           InProgress
Events:                          <none>
```

### Protokolle anzeigen von TrainingJobs
<a name="view-logs-from-training-jobs"></a>

Verwenden Sie den folgenden Befehl, um die Protokolle des `kmeans-mnist` Trainingsauftrags einzusehen: 

```
kubectl smlogs trainingjob xgboost-mnist-from-for-s3
```

Ihre Ausgabe sollte in etwa wie folgt aussehen. Die Protokolle der Instances sind chronologisch angeordnet. 

```
"xgboost-mnist-from-for-s3" has SageMaker TrainingJobName "xgboost-mnist-from-for-s3-123456789" in region "us-east-2", status "InProgress" and secondary status "Starting"
xgboost-mnist-from-for-s3-6d7fa0af0bef11eab94e0ed46example/algo-1-1574293123 2019-11-20 23:45:24.7 +0000 UTC Arguments: train
xgboost-mnist-from-for-s3-6d7fa0af0bef11eab94e0ed46example/algo-1-1574293123 2019-11-20 23:45:24.7 +0000 UTC [2019-11-20:23:45:22:INFO] Running standalone xgboost training.
xgboost-mnist-from-for-s3-6d7fa0af0bef11eab94e0ed46example/algo-1-1574293123 2019-11-20 23:45:24.7 +0000 UTC [2019-11-20:23:45:22:INFO] File size need to be processed in the node: 1122.95mb. Available memory size in the node: 8586.0mb
xgboost-mnist-from-for-s3-6d7fa0af0bef11eab94e0ed46example/algo-1-1574293123 2019-11-20 23:45:24.7 +0000 UTC [2019-11-20:23:45:22:INFO] Determined delimiter of CSV input is ','
xgboost-mnist-from-for-s3-6d7fa0af0bef11eab94e0ed46example/algo-1-1574293123 2019-11-20 23:45:24.7 +0000 UTC [23:45:22] S3DistributionType set as FullyReplicated
```

### Löschen TrainingJobs
<a name="delete-training-jobs"></a>

Verwenden Sie den folgenden Befehl, um einen Trainingsjob auf Amazon SageMaker AI zu beenden: 

```
kubectl delete trainingjob xgboost-mnist-from-for-s3
```

Dieser Befehl entfernt den SageMaker Trainingsjob aus Kubernetes. Dieser Befehl liefert die folgende Ausgabe: 

```
trainingjob.sagemaker.aws.amazon.com "xgboost-mnist-from-for-s3" deleted
```

Wenn der Job auf SageMaker KI noch in Bearbeitung ist, wird der Job beendet. Nach Beendigung oder Abschluss Ihres Jobs fallen für Sie keine Gebühren für SageMaker KI-Ressourcen an. 

**Hinweis**: SageMaker KI löscht keine Schulungsjobs. Beendete Jobs werden weiterhin auf der SageMaker AI-Konsole angezeigt. Der `delete` Befehl benötigt etwa 2 Minuten, um die Ressourcen von der SageMaker KI zu bereinigen. 

## Der HyperParameterTuningJob Betreiber
<a name="hyperparametertuningjobs-operator"></a>

Die Operatoren für Hyperparameter-Tuning-Jobs stimmen Ihre angegebene Spezifikation für Hyperparameter-Tuning-Jobs mit der KI ab, indem sie sie in SageMaker AI starten. SageMaker [Weitere Informationen zu SageMaker KI-Hyperparameter-Tuning-Jobs finden Sie in der AI-API-Dokumentation. SageMaker CreateHyperParameterTuningJob ](https://docs.aws.amazon.com/sagemaker/latest/dg/API_CreateHyperParameterTuningJob.html) 

**Topics**
+ [Erstellen Sie eine HyperparameterTuningJob mit einer YAML-Datei](#create-a-hyperparametertuningjob-using-a-simple-yaml-file)
+ [Erstellen Sie ein HyperparameterTuningJob mithilfe eines Helm-Diagramms](#create-a-hyperparametertuningjob-using-a-helm-chart)
+ [Liste HyperparameterTuningJobs](#list-hyperparameter-tuning-jobs)
+ [Beschreibe ein HyperparameterTuningJob](#describe-a-hyperparameter-tuning-job)
+ [Logs anzeigen von HyperparameterTuningJobs](#view-logs-from-hyperparametertuning-jobs)
+ [Lösche ein HyperparameterTuningJob](#delete-hyperparametertuning-jobs)

### Erstellen Sie eine HyperparameterTuningJob mit einer YAML-Datei
<a name="create-a-hyperparametertuningjob-using-a-simple-yaml-file"></a>

1. Laden Sie die YAML-Beispieldatei für den Hyperparameter-Tuning-Job mit dem folgenden Befehl herunter: 

   ```
   wget https://raw.githubusercontent.com/aws/amazon-sagemaker-operator-for-k8s/master/samples/xgboost-mnist-hpo.yaml
   ```

1. Bearbeiten Sie die `xgboost-mnist-hpo.yaml` Datei, um den `roleArn` Parameter durch Ihren `sagemaker-execution-role` zu ersetzen. Damit der Hyperparameter-Tuning-Job erfolgreich ist, müssen Sie auch die Werte `s3InputPath` und `s3OutputPath` in Werte ändern, die Ihrem Konto entsprechen. Wenden Sie die aktualisierte YAML-Datei mit folgendem Befehl an: 

   ```
   kubectl apply -f xgboost-mnist-hpo.yaml
   ```

### Erstellen Sie ein HyperparameterTuningJob mithilfe eines Helm-Diagramms
<a name="create-a-hyperparametertuningjob-using-a-helm-chart"></a>

Sie können Helm Charts verwenden, um Hyperparameter-Tuning-Jobs auszuführen. 

1. Klonen Sie das GitHub Repository mit dem folgenden Befehl, um die Quelle abzurufen: 

   ```
   git clone https://github.com/aws/amazon-sagemaker-operator-for-k8s.git
   ```

1. Navigieren Sie zum Verzeichnis `amazon-sagemaker-operator-for-k8s/hack/charts/hyperparameter-tuning-jobs/`. 

1. Bearbeiten Sie die `values.yaml` Datei, um den `roleArn` Parameter durch Ihren `sagemaker-execution-role` zu ersetzen. Damit der Hyperparameter-Tuning-Job erfolgreich ist, müssen Sie auch die `s3InputPath` und `s3OutputPath` in Werte ändern, die Ihrem Konto entsprechen. 

#### Erstellen Sie das HyperparameterTuningJob
<a name="create-the-hpo-job"></a>

Nachdem die Rollen und Amazon S3-Pfade durch die entsprechenden Werte in `values.yaml` ersetzt wurden, können Sie mit dem folgenden Befehl einen Hyperparameter-Tuning-Job erstellen: 

```
helm install . --generate-name
```

Ihre Ausgabe sollte wie folgt aussehen: 

```
NAME: chart-1574292948
LAST DEPLOYED: Wed Nov 20 23:35:49 2019
NAMESPACE: default
STATUS: deployed
REVISION: 1
TEST SUITE: None
NOTES:
Thanks for installing the sagemaker-k8s-hyperparametertuningjob.
```

#### Überprüfen der Karteninstallation
<a name="verify-chart-installation"></a>

Führen Sie den folgenden Befehl aus, um zu überprüfen, ob das Helm-Diagramm erfolgreich erstellt wurde: 

```
helm ls
```

Die Ausgabe sollte folgendermaßen aussehen: 

```
NAME                    NAMESPACE       REVISION        UPDATED
chart-1474292948        default         1               2019-11-20 23:35:49.9136092 +0000 UTC   deployed        sagemaker-k8s-hyperparametertuningjob-0.1.0                               STATUS          CHART                           APP VERSION
chart-1574292948        default         1               2019-11-20 23:35:49.9136092 +0000 UTC   deployed        sagemaker-k8s-trainingjob-0.1.0
rolebased-1574291698    default         1               2019-11-20 23:14:59.6777082 +0000 UTC   deployed        sagemaker-k8s-operator-0.1.0
```

`helm install` erstellt eine `HyperParameterTuningJob` Kubernetes-Ressource. Der Operator startet den eigentlichen Job zur Hyperparameter-Optimierung in SageMaker KI und aktualisiert die `HyperParameterTuningJob` Kubernetes-Ressource, um den Status des Jobs in KI widerzuspiegeln. SageMaker Es fallen Gebühren für SageMaker KI-Ressourcen an, die Sie während der Dauer Ihres Jobs nutzen. Sobald Ihr Auftrag abgeschlossen oder beendet ist, fallen für Sie keine Gebühren an. 

**Hinweis**: Mit SageMaker KI können Sie einen laufenden Hyperparameter-Tuning-Job nicht aktualisieren. Sie können keinen Parameter bearbeiten und die Konfigurationsdatei erneut anwenden. Sie müssen entweder den Metadatennamen ändern oder den vorhandenen Auftrag löschen und einen neuen erstellen. Ähnlich wie bei bestehenden Trainingsjobs, wie z. B. `TFJob` in Kubeflow, wird `update` nicht unterstützt. 

### Liste HyperparameterTuningJobs
<a name="list-hyperparameter-tuning-jobs"></a>

Verwenden Sie den folgenden Befehl, um alle Aufträge aufzulisten, die mit dem Kubernetes-Operator erstellt wurden: 

```
kubectl get hyperparametertuningjob
```

Die Ausgabe sollte folgendermaßen aussehen: 

```
NAME         STATUS      CREATION-TIME          COMPLETED   INPROGRESS   ERRORS   STOPPED   BEST-TRAINING-JOB                               SAGEMAKER-JOB-NAME
xgboost-mnist-hpo   Completed   2019-10-17T01:15:52Z   10          0            0        0         xgboostha92f5e3cf07b11e9bf6c06d6-009-4c7a123   xgboostha92f5e3cf07b11e9bf6c123
```

Ein Hyperparameter-Optimierungsjob wird weiterhin aufgeführt, nachdem der Job abgeschlossen wurde oder fehlgeschlagen ist. Sie können einen `hyperparametertuningjob` aus der Liste entfernen, indem Sie die Schritte unter [Lösche ein HyperparameterTuningJob](#delete-hyperparametertuning-jobs) befolgen. Für Aufträge, die abgeschlossen oder beendet wurden, fallen keine Gebühren für SageMaker KI-Ressourcen an.

#### Statuswerte für Hyperparameter-Tuning-Jobs
<a name="hyperparameter-tuning-job-status-values"></a>

Das `STATUS`-Feld kann einen der folgenden Werte annehmen: 
+ `Completed` 
+ `InProgress` 
+ `Failed` 
+ `Stopped` 
+ `Stopping` 

Diese Status stammen direkt aus der offiziellen [API-Dokumentation](https://docs.aws.amazon.com/sagemaker/latest/dg/API_DescribeHyperParameterTuningJob.html#SageMaker-DescribeHyperParameterTuningJob-response-HyperParameterTuningJobStatus) von SageMaker AI. 

Zusätzlich zum offiziellen SageMaker KI-Status ist es möglich, auch `STATUS` zu sein`SynchronizingK8sJobWithSageMaker`. Das bedeutet, dass der Bediener den Auftrag noch nicht bearbeitet hat. 

#### Statuszähler
<a name="status-counters"></a>

Die Ausgabe hat mehrere Zähler, wie `COMPLETED` und `INPROGRESS`. Diese geben an, wie viele Ausbildungsberufe abgeschlossen wurden bzw. noch in Bearbeitung sind. Weitere Informationen darüber, wie diese ermittelt werden, finden Sie [TrainingJobStatusCounters](https://docs.aws.amazon.com/sagemaker/latest/dg/API_TrainingJobStatusCounters.html)in der SageMaker API-Dokumentation. 

#### Am besten TrainingJob
<a name="best-training-job"></a>

Diese Spalte enthält den Namen der Metrik`TrainingJob`, die die ausgewählte Metrik am besten optimiert hat. 

Führen Sie zum Anzeigen einer Zusammenfassung der eingestellten Hyperparameter den folgenden Befehl aus: 

```
kubectl describe hyperparametertuningjob xgboost-mnist-hpo
```

Um detaillierte Informationen über `TrainingJob` zu erhalten, führen Sie aus: 

```
kubectl describe trainingjobs <job name>
```

#### Laichen TrainingJobs
<a name="spawned-training-jobs"></a>

Sie können auch alle 10 Trainingsaufträge in Kubernetes verfolgen, die von `HyperparameterTuningJob` gestartet wurden, indem Sie den folgenden Befehl ausführen: 

```
kubectl get trainingjobs
```

### Beschreibe ein HyperparameterTuningJob
<a name="describe-a-hyperparameter-tuning-job"></a>

Sie können Debugging-Details mit dem Befehl `describe` `kubectl` abrufen.

```
kubectl describe hyperparametertuningjob xgboost-mnist-hpo
```

Zusätzlich zu den Informationen über den Tuning-Job macht der SageMaker AI Operator for Kubernetes in der Ausgabe auch den [besten Trainingsjob](https://docs.aws.amazon.com/sagemaker/latest/dg/automatic-model-tuning-monitor.html#automatic-model-tuning-best-training-job), der vom Hyperparameter-Optimierungsjob gefunden wurde, wie folgt verfügbar: `describe` 

```
Name:         xgboost-mnist-hpo
Namespace:    default
Labels:       <none>
Annotations:  kubectl.kubernetes.io/last-applied-configuration:
                {"apiVersion":"sagemaker.aws.amazon.com/v1","kind":"HyperparameterTuningJob","metadata":{"annotations":{},"name":"xgboost-mnist-hpo","namespace":...
API Version:  sagemaker.aws.amazon.com/v1
Kind:         HyperparameterTuningJob
Metadata:
  Creation Timestamp:  2019-10-17T01:15:52Z
  Finalizers:
    sagemaker-operator-finalizer
  Generation:        2
  Resource Version:  8167
  Self Link:         /apis/sagemaker.aws.amazon.com/v1/namespaces/default/hyperparametertuningjobs/xgboost-mnist-hpo
  UID:               a92f5e3c-f07b-11e9-bf6c-06d6f303uidu
Spec:
  Hyper Parameter Tuning Job Config:
    Hyper Parameter Tuning Job Objective:
      Metric Name:  validation:error
      Type:         Minimize
    Parameter Ranges:
      Integer Parameter Ranges:
        Max Value:     20
        Min Value:     10
        Name:          num_round
        Scaling Type:  Linear
    Resource Limits:
      Max Number Of Training Jobs:     10
      Max Parallel Training Jobs:      10
    Strategy:                          Bayesian
    Training Job Early Stopping Type:  Off
  Hyper Parameter Tuning Job Name:     xgboostha92f5e3cf07b11e9bf6c06d6
  Region:                              us-east-2
  Training Job Definition:
    Algorithm Specification:
      Training Image:       12345678910.dkr.ecr.us-east-2.amazonaws.com/xgboost:1
      Training Input Mode:  File
    Input Data Config:
      Channel Name:  train
      Content Type:  text/csv
      Data Source:
        s3DataSource:
          s3DataDistributionType:  FullyReplicated
          s3DataType:              S3Prefix
          s3Uri:                   https://s3-us-east-2.amazonaws.com/amzn-s3-demo-bucket/sagemaker/xgboost-mnist/train/
      Channel Name:                validation
      Content Type:                text/csv
      Data Source:
        s3DataSource:
          s3DataDistributionType:  FullyReplicated
          s3DataType:              S3Prefix
          s3Uri:                   https://s3-us-east-2.amazonaws.com/amzn-s3-demo-bucket/sagemaker/xgboost-mnist/validation/
    Output Data Config:
      s3OutputPath:  https://s3-us-east-2.amazonaws.com/amzn-s3-demo-bucket/sagemaker/xgboost-mnist/xgboost
    Resource Config:
      Instance Count:     1
      Instance Type:      ml.m4.xlarge
      Volume Size In GB:  5
    Role Arn:             arn:aws:iam::123456789012:role/service-role/AmazonSageMaker-ExecutionRole
    Static Hyper Parameters:
      Name:   base_score
      Value:  0.5
      Name:   booster
      Value:  gbtree
      Name:   csv_weights
      Value:  0
      Name:   dsplit
      Value:  row
      Name:   grow_policy
      Value:  depthwise
      Name:   lambda_bias
      Value:  0.0
      Name:   max_bin
      Value:  256
      Name:   max_leaves
      Value:  0
      Name:   normalize_type
      Value:  tree
      Name:   objective
      Value:  reg:linear
      Name:   one_drop
      Value:  0
      Name:   prob_buffer_row
      Value:  1.0
      Name:   process_type
      Value:  default
      Name:   rate_drop
      Value:  0.0
      Name:   refresh_leaf
      Value:  1
      Name:   sample_type
      Value:  uniform
      Name:   scale_pos_weight
      Value:  1.0
      Name:   silent
      Value:  0
      Name:   sketch_eps
      Value:  0.03
      Name:   skip_drop
      Value:  0.0
      Name:   tree_method
      Value:  auto
      Name:   tweedie_variance_power
      Value:  1.5
    Stopping Condition:
      Max Runtime In Seconds:  86400
Status:
  Best Training Job:
    Creation Time:  2019-10-17T01:16:14Z
    Final Hyper Parameter Tuning Job Objective Metric:
      Metric Name:        validation:error
      Value:
    Objective Status:     Succeeded
    Training End Time:    2019-10-17T01:20:24Z
    Training Job Arn:     arn:aws:sagemaker:us-east-2:123456789012:training-job/xgboostha92f5e3cf07b11e9bf6c06d6-009-4sample
    Training Job Name:    xgboostha92f5e3cf07b11e9bf6c06d6-009-4c7a3059
    Training Job Status:  Completed
    Training Start Time:  2019-10-17T01:18:35Z
    Tuned Hyper Parameters:
      Name:                                    num_round
      Value:                                   18
  Hyper Parameter Tuning Job Status:           Completed
  Last Check Time:                             2019-10-17T01:21:01Z
  Sage Maker Hyper Parameter Tuning Job Name:  xgboostha92f5e3cf07b11e9bf6c06d6
  Training Job Status Counters:
    Completed:            10
    In Progress:          0
    Non Retryable Error:  0
    Retryable Error:      0
    Stopped:              0
    Total Error:          0
Events:                   <none>
```

### Logs anzeigen von HyperparameterTuningJobs
<a name="view-logs-from-hyperparametertuning-jobs"></a>

Hyperparameter-Optimierungsaufträge haben keine Protokolle, aber alle von ihnen gestarteten Trainingsaufträge haben Protokolle. Auf diese Protokolle kann wie auf normale Trainingsaufgaben zugegriffen werden. Weitere Informationen finden Sie unter [Protokolle anzeigen von TrainingJobs](#view-logs-from-training-jobs).

### Lösche ein HyperparameterTuningJob
<a name="delete-hyperparametertuning-jobs"></a>

Verwenden Sie den folgenden Befehl, um einen Hyperparameter-Job in SageMaker AI zu beenden. 

```
kubectl delete hyperparametertuningjob xgboost-mnist-hpo
```

Dieser Befehl entfernt den Hyperparameter-Tuning-Job und die zugehörigen Trainingsjobs aus Ihrem Kubernetes-Cluster und stoppt sie in AI. SageMaker Für Jobs, die gestoppt oder abgeschlossen wurden, fallen keine Gebühren für KI-Ressourcen an. SageMaker SageMaker KI löscht keine Hyperparameter-Tuning-Jobs. Gestoppte Jobs werden weiterhin auf der SageMaker AI-Konsole angezeigt. 

Die Ausgabe sollte folgendermaßen aussehen: 

```
hyperparametertuningjob.sagemaker.aws.amazon.com "xgboost-mnist-hpo" deleted
```

**Hinweis**: Der Befehl delete benötigt etwa 2 Minuten, um die Ressourcen aus der SageMaker KI zu bereinigen. 

## Der BatchTransformJob Betreiber
<a name="batchtransformjobs-operator"></a>

Batch-Transform-Job-Operatoren stimmen Ihre angegebenen Batch-Transform-Jobspezifikationen mit SageMaker KI ab, indem sie sie in SageMaker KI starten. In der [CreateTransformJob AI-API-Dokumentation](https://docs.aws.amazon.com/sagemaker/latest/dg/API_CreateTransformJob.html) erfahren Sie mehr über den SageMaker AI-Batch-Transformationsjob. SageMaker 

**Topics**
+ [Erstellen Sie eine BatchTransformJob mit einer YAML-Datei](#create-a-batchtransformjob-using-a-simple-yaml-file)
+ [Erstellen Sie ein Diagramm BatchTransformJob mithilfe eines Helm-Diagramms](#create-a-batchtransformjob-using-a-helm-chart)
+ [Liste BatchTransformJobs](#list-batch-transform-jobs)
+ [Beschreibe ein BatchTransformJob](#describe-a-batch-transform-job)
+ [Protokolle anzeigen von BatchTransformJobs](#view-logs-from-batch-transform-jobs)
+ [Lösche ein BatchTransformJob](#delete-a-batch-transform-job)

### Erstellen Sie eine BatchTransformJob mit einer YAML-Datei
<a name="create-a-batchtransformjob-using-a-simple-yaml-file"></a>

1. Laden Sie die YAML-Beispieldatei für den Batch-Transformationsauftrag mit dem folgenden Befehl herunter: 

   ```
   wget https://raw.githubusercontent.com/aws/amazon-sagemaker-operator-for-k8s/master/samples/xgboost-mnist-batchtransform.yaml
   ```

1. Bearbeiten Sie die Datei`xgboost-mnist-batchtransform.yaml`, um die erforderlichen Parameter zu ändern und sie `inputdataconfig` durch Ihre Eingabedaten und `s3OutputPath` durch Ihre Amazon S3 S3-Buckets zu ersetzen, auf die die SageMaker AI-Ausführungsrolle Schreibzugriff hat. 

1. Wenden Sie die YAML-Datei mit folgendem Befehl an: 

   ```
   kubectl apply -f xgboost-mnist-batchtransform.yaml
   ```

### Erstellen Sie ein Diagramm BatchTransformJob mithilfe eines Helm-Diagramms
<a name="create-a-batchtransformjob-using-a-helm-chart"></a>

Sie können Helm Charts verwenden, um Batch-Transformationsauftrags auszuführen. 

#### Holen Sie sich das Helm-Installationsverzeichnis
<a name="get-the-helm-installer-directory"></a>

Klonen Sie das GitHub Repository mit dem folgenden Befehl, um die Quelle abzurufen: 

```
git clone https://github.com/aws/amazon-sagemaker-operator-for-k8s.git
```

#### Konfigurieren Sie das Helm-Diagramm
<a name="configure-the-helm-chart"></a>

Navigieren Sie zum Verzeichnis `amazon-sagemaker-operator-for-k8s/hack/charts/batch-transform-jobs/`. 

Bearbeiten Sie die `values.yaml` Datei, um die `inputdataconfig` durch Ihre Eingabedaten und OutputPath durch Ihre S3-Buckets zu ersetzen, auf die die SageMaker AI-Ausführungsrolle Schreibzugriff hat. 

#### Erstellen Sie ein BatchTransformJob
<a name="create-a-batch-transform-job"></a>

1. Verwenden Sie den folgenden Befehl, um einen Batch-Transformationsauftrag zu erstellen: 

   ```
   helm install . --generate-name
   ```

   Die Ausgabe sollte folgendermaßen aussehen: 

   ```
   NAME: chart-1574292948
   LAST DEPLOYED: Wed Nov 20 23:35:49 2019
   NAMESPACE: default
   STATUS: deployed
   REVISION: 1
   TEST SUITE: None
   NOTES:
   Thanks for installing the sagemaker-k8s-batch-transform-job.
   ```

1. Führen Sie den folgenden Befehl aus, um zu überprüfen, ob das Helm-Diagramm erfolgreich erstellt wurde: 

   ```
   helm ls
   NAME                    NAMESPACE       REVISION        UPDATED                                 STATUS          CHART                           APP VERSION
   chart-1474292948        default         1               2019-11-20 23:35:49.9136092 +0000 UTC   deployed        sagemaker-k8s-batchtransformjob-0.1.0
   chart-1474292948        default         1               2019-11-20 23:35:49.9136092 +0000 UTC   deployed        sagemaker-k8s-hyperparametertuningjob-0.1.0
   chart-1574292948        default         1               2019-11-20 23:35:49.9136092 +0000 UTC   deployed        sagemaker-k8s-trainingjob-0.1.0
   rolebased-1574291698    default         1               2019-11-20 23:14:59.6777082 +0000 UTC   deployed        sagemaker-k8s-operator-0.1.0
   ```

   Dieser Befehl erstellt eine `BatchTransformJob` Kubernetes-Ressource. Der Operator startet den eigentlichen Transformationsjob in SageMaker KI und aktualisiert die `BatchTransformJob` Kubernetes-Ressource, um den Status des Jobs in SageMaker KI widerzuspiegeln. Es fallen Gebühren für SageMaker KI-Ressourcen an, die Sie während der Dauer Ihres Jobs nutzen. Sobald Ihr Auftrag abgeschlossen oder beendet ist, fallen für Sie keine Gebühren an. 

**Hinweis**: Mit SageMaker KI können Sie einen laufenden Batch-Transformationsjob nicht aktualisieren. Sie können keinen Parameter bearbeiten und die Konfigurationsdatei erneut anwenden. Sie müssen entweder den Metadatennamen ändern oder den vorhandenen Auftrag löschen und einen neuen erstellen. Ähnlich wie bei bestehenden Trainingsjobs, wie z. B. `TFJob` in Kubeflow, wird `update` nicht unterstützt. 

### Liste BatchTransformJobs
<a name="list-batch-transform-jobs"></a>

Verwenden Sie den folgenden Befehl, um alle Aufträge aufzulisten, die mit dem Kubernetes-Operator erstellt wurden: 

```
kubectl get batchtransformjob
```

Die Ausgabe sollte folgendermaßen aussehen: 

```
NAME                                STATUS      CREATION-TIME          SAGEMAKER-JOB-NAME
xgboost-mnist-batch-transform       Completed   2019-11-18T03:44:00Z   xgboost-mnist-a88fb19809b511eaac440aa8axgboost
```

Ein Batch-Transformationsauftrag wird weiterhin aufgeführt, nachdem der Auftrag abgeschlossen wurde oder fehlgeschlagen ist. Sie können einen `hyperparametertuningjob` aus der Liste entfernen, indem Sie die folgenden [Lösche ein BatchTransformJob](#delete-a-batch-transform-job) Schritte ausführen. Für Aufträge, die abgeschlossen oder beendet wurden, fallen keine Gebühren für SageMaker KI-Ressourcen an. 

#### Statuswerte für Batch-Transformation
<a name="batch-transform-status-values"></a>

Das Feld `STATUS` kann einen der folgenden Werte annehmen: 
+ `Completed` 
+ `InProgress` 
+ `Failed` 
+ `Stopped` 
+ `Stopping` 

Diese Status stammen direkt aus der offiziellen [API-Dokumentation](https://docs.aws.amazon.com/sagemaker/latest/dg/API_DescribeHyperParameterTuningJob.html#SageMaker-DescribeHyperParameterTuningJob-response-HyperParameterTuningJobStatus) von SageMaker AI. 

Zusätzlich zum offiziellen SageMaker KI-Status ist es möglich, auch `STATUS` zu sein`SynchronizingK8sJobWithSageMaker`. Das bedeutet, dass der Bediener den Auftrag noch nicht bearbeitet hat.

### Beschreibe ein BatchTransformJob
<a name="describe-a-batch-transform-job"></a>

Sie können Debugging-Details mit dem Befehl `describe` `kubectl` abrufen.

```
kubectl describe batchtransformjob xgboost-mnist-batch-transform
```

Die Ausgabe sollte folgendermaßen aussehen: 

```
Name:         xgboost-mnist-batch-transform
Namespace:    default
Labels:       <none>
Annotations:  kubectl.kubernetes.io/last-applied-configuration:
                {"apiVersion":"sagemaker.aws.amazon.com/v1","kind":"BatchTransformJob","metadata":{"annotations":{},"name":"xgboost-mnist","namespace"...
API Version:  sagemaker.aws.amazon.com/v1
Kind:         BatchTransformJob
Metadata:
  Creation Timestamp:  2019-11-18T03:44:00Z
  Finalizers:
    sagemaker-operator-finalizer
  Generation:        2
  Resource Version:  21990924
  Self Link:         /apis/sagemaker.aws.amazon.com/v1/namespaces/default/batchtransformjobs/xgboost-mnist
  UID:               a88fb198-09b5-11ea-ac44-0aa8a9UIDNUM
Spec:
  Model Name:  TrainingJob-20190814SMJOb-IKEB
  Region:      us-east-1
  Transform Input:
    Content Type:  text/csv
    Data Source:
      S 3 Data Source:
        S 3 Data Type:  S3Prefix
        S 3 Uri:        s3://amzn-s3-demo-bucket/mnist_kmeans_example/input
  Transform Job Name:   xgboost-mnist-a88fb19809b511eaac440aa8a9SMJOB
  Transform Output:
    S 3 Output Path:  s3://amzn-s3-demo-bucket/mnist_kmeans_example/output
  Transform Resources:
    Instance Count:  1
    Instance Type:   ml.m4.xlarge
Status:
  Last Check Time:                2019-11-19T22:50:40Z
  Sage Maker Transform Job Name:  xgboost-mnist-a88fb19809b511eaac440aaSMJOB
  Transform Job Status:           Completed
Events:                           <none>
```

### Protokolle anzeigen von BatchTransformJobs
<a name="view-logs-from-batch-transform-jobs"></a>

Verwenden Sie den folgenden Befehl, um die Protokolle des `xgboost-mnist` Batch-Transformationsjobs anzuzeigen: 

```
kubectl smlogs batchtransformjob xgboost-mnist-batch-transform
```

### Lösche ein BatchTransformJob
<a name="delete-a-batch-transform-job"></a>

Verwenden Sie den folgenden Befehl, um einen Batch-Transformationsauftrag in SageMaker AI zu beenden. 

```
kubectl delete batchTransformJob xgboost-mnist-batch-transform
```

Die Ausgabe sollte folgendermaßen aussehen: 

```
batchtransformjob.sagemaker.aws.amazon.com "xgboost-mnist" deleted
```

Dieser Befehl entfernt den Batch-Transformationsjob aus Ihrem Kubernetes-Cluster und stoppt ihn auch in SageMaker AI. Für Jobs, die gestoppt oder abgeschlossen wurden, fallen keine Gebühren für SageMaker KI-Ressourcen an. Das Löschen dauert etwa 2 Minuten, um die Ressourcen aus der SageMaker KI zu bereinigen. 

**Hinweis**: SageMaker AI löscht keine Batch-Transformationsaufträge. Gestoppte Jobs werden weiterhin auf der SageMaker AI-Konsole angezeigt. 

## Der HostingDeployment Betreiber
<a name="hosting-deployment-operator"></a>

HostingDeployment Operatoren unterstützen das Erstellen und Löschen eines Endpunkts sowie das Aktualisieren eines vorhandenen Endpunkts, um daraus Rückschlüsse in Echtzeit ziehen zu können. Der Hosting-Bereitstellungs-Operator stimmt Ihre angegebene Jobspezifikation für die Hosting-Bereitstellung mit SageMaker KI ab, indem er Modelle, Endpunktkonfigurationen und Endpunkte in KI erstellt. SageMaker [Weitere Informationen zur KI-Inferenz finden Sie in der SageMaker KI-API-Dokumentation. SageMaker CreateEndpoint](https://docs.aws.amazon.com/sagemaker/latest/dg/API_CreateEndpoint.html) 

**Topics**
+ [Konfigurieren Sie eine Ressource HostingDeployment](#configure-a-hostingdeployment-resource)
+ [Erstellen Sie eine HostingDeployment](#create-a-hostingdeployment)
+ [Liste HostingDeployments](#list-hostingdeployments)
+ [Beschreiben Sie ein HostingDeployment](#describe-a-hostingdeployment)
+ [Aufrufen des Endpunkts](#invoking-the-endpoint)
+ [Aktualisieren HostingDeployment](#update-hostingdeployment)
+ [Löschen Sie die HostingDeployment](#delete-the-hostingdeployment)

### Konfigurieren Sie eine Ressource HostingDeployment
<a name="configure-a-hostingdeployment-resource"></a>

Laden Sie die YAML-Beispieldatei für den Hosting-Bereitstellungsauftrags mit dem folgenden Befehl herunter: 

```
wget https://raw.githubusercontent.com/aws/amazon-sagemaker-operator-for-k8s/master/samples/xgboost-mnist-hostingdeployment.yaml
```

Die `xgboost-mnist-hostingdeployment.yaml` Datei enthält die folgenden Komponenten, die nach Bedarf bearbeitet werden können: 
+ *ProductionVariants*. Eine Produktionsvariante ist eine Reihe von Instanzen, die ein einzelnes Modell bedienen. SageMaker KI verteilt die Lasten zwischen allen Produktionsvarianten anhand festgelegter Gewichte. 
+ *Modelle*. Ein Modell ist der ARN für Container und Ausführungsrollen, die für die Bereitstellung eines Modells erforderlich sind. Es erfordert mindestens einen einzelnen Container. 
+ *Container*. Ein Container spezifiziert den Datensatz und das Serving-Image. Wenn Sie Ihren eigenen benutzerdefinierten Algorithmus anstelle eines von SageMaker KI bereitgestellten Algorithmus verwenden, muss der Inferenzcode die SageMaker KI-Anforderungen erfüllen. Weitere Informationen finden Sie unter [Verwenden eigener Algorithmen mit SageMaker KI](https://docs.aws.amazon.com/sagemaker/latest/dg/your-algorithms.html). 

### Erstellen Sie eine HostingDeployment
<a name="create-a-hostingdeployment"></a>

Um eine zu erstellen HostingDeployment, verwenden Sie, `kubectl` um die Datei `hosting.yaml` mit dem folgenden Befehl anzuwenden: 

```
kubectl apply -f hosting.yaml
```

SageMaker AI erstellt einen Endpunkt mit der angegebenen Konfiguration. Es fallen Gebühren für SageMaker KI-Ressourcen an, die während der Lebensdauer Ihres Endgeräts genutzt werden. Sobald Ihr Endpunkt gelöscht wurde, fallen für Sie keine Gebühren an. 

Der Erstellungsprozess dauert etwa 10 Minuten. 

### Liste HostingDeployments
<a name="list-hostingdeployments"></a>

Verwenden Sie den folgenden Befehl, um zu überprüfen, ob die erstellt HostingDeployment wurde: 

```
kubectl get hostingdeployments
```

Die Ausgabe sollte folgendermaßen aussehen: 

```
NAME           STATUS     SAGEMAKER-ENDPOINT-NAME
host-xgboost   Creating   host-xgboost-def0e83e0d5f11eaaa450aSMLOGS
```

#### HostingDeployment Statuswerte
<a name="hostingdeployment-status-values"></a>

Das Statusfeld kann einer von mehreren Werten sein: 
+ `SynchronizingK8sJobWithSageMaker`: Der Operator bereitet die Erstellung des Endpunkts vor. 
+ `ReconcilingEndpoint`: Der Operator erstellt, aktualisiert oder löscht Endpunktressourcen. HostingDeployment Bleibt der in diesem Zustand, sehen `kubectl describe` Sie hier den Grund im `Additional` Feld. 
+ `OutOfService`: Der Endpunkt ist nicht verfügbar, um eingehende Anfragen entgegenzunehmen. 
+ `Creating`: [CreateEndpoint](https://docs.aws.amazon.com/sagemaker/latest/dg/API_CreateEndpoint.html)läuft. 
+ `Updating`: [UpdateEndpoint](https://docs.aws.amazon.com/sagemaker/latest/dg/API_UpdateEndpoint.html)oder [UpdateEndpointWeightsAndCapacities](https://docs.aws.amazon.com/sagemaker/latest/dg/API_UpdateEndpointWeightsAndCapacities.html)läuft. 
+ `SystemUpdating`: Der Endpunkt wird gerade gewartet und kann erst aktualisiert, gelöscht oder neu skaliert werden, wenn der Vorgang abgeschlossen ist. Durch diesen Wartungsvorgang werden keine vom Kunden angegebenen Werte wie VPC-Konfiguration, AWS KMS Verschlüsselung, Modell, Instance-Typ oder Instance-Anzahl geändert. 
+ `RollingBack`: Der Endpunkt kann weder nach oben noch nach unten skaliert oder seine Variantenstärke geändert werden und ist gerade dabei, zur vorherigen Konfiguration zurückzukehren. Sobald das Rollback abgeschlossen ist, kehrt der Endpunkt in einen `InService` Status zurück. Dieser Übergangsstatus gilt nur für einen Endpunkt, für den Autoscaling aktiviert ist und bei dem im Rahmen eines [UpdateEndpointWeightsAndCapacities](https://docs.aws.amazon.com/sagemaker/latest/dg/API_UpdateEndpointWeightsAndCapacities.html)Aufrufs oder wenn der [UpdateEndpointWeightsAndCapacities](https://docs.aws.amazon.com/sagemaker/latest/dg/API_UpdateEndpointWeightsAndCapacities.html)Vorgang explizit aufgerufen wird, unterschiedliche Gewichts- oder Kapazitätsänderungen vorgenommen werden. 
+ `InService`: Der Endpunkt ist für die Verarbeitung eingehender Anfragen verfügbar. 
+ `Deleting`: [DeleteEndpoint](https://docs.aws.amazon.com/sagemaker/latest/dg/API_DeleteEndpoint.html)läuft. 
+ `Failed`: Der Endpunkt konnte nicht erstellt, aktualisiert oder neu skaliert werden. Verwenden Sie [DescribeEndpoint: FailureReason](https://docs.aws.amazon.com/sagemaker/latest/dg/API_DescribeEndpoint.html#SageMaker-DescribeEndpoint-response-FailureReason) für Informationen über den Fehler. [DeleteEndpoint](https://docs.aws.amazon.com/sagemaker/latest/dg/API_DeleteEndpoint.html)ist der einzige Vorgang, der an einem ausgefallenen Endpunkt ausgeführt werden kann. 

### Beschreiben Sie ein HostingDeployment
<a name="describe-a-hostingdeployment"></a>

Sie können Debugging-Details mit dem Befehl `describe` `kubectl` abrufen.

```
kubectl describe hostingdeployment
```

Die Ausgabe sollte folgendermaßen aussehen: 

```
Name:         host-xgboost
Namespace:    default
Labels:       <none>
Annotations:  kubectl.kubernetes.io/last-applied-configuration:
                {"apiVersion":"sagemaker.aws.amazon.com/v1","kind":"HostingDeployment","metadata":{"annotations":{},"name":"host-xgboost","namespace":"def..."
API Version:  sagemaker.aws.amazon.com/v1
Kind:         HostingDeployment
Metadata:
  Creation Timestamp:  2019-11-22T19:40:00Z
  Finalizers:
    sagemaker-operator-finalizer
  Generation:        1
  Resource Version:  4258134
  Self Link:         /apis/sagemaker.aws.amazon.com/v1/namespaces/default/hostingdeployments/host-xgboost
  UID:               def0e83e-0d5f-11ea-aa45-0a3507uiduid
Spec:
  Containers:
    Container Hostname:  xgboost
    Image:               123456789012.dkr.ecr.us-east-2.amazonaws.com/xgboost:latest
    Model Data URL:      s3://amzn-s3-demo-bucket/inference/xgboost-mnist/model.tar.gz
  Models:
    Containers:
      xgboost
    Execution Role Arn:  arn:aws:iam::123456789012:role/service-role/AmazonSageMaker-ExecutionRole
    Name:                xgboost-model
    Primary Container:   xgboost
  Production Variants:
    Initial Instance Count:  1
    Instance Type:           ml.c5.large
    Model Name:              xgboost-model
    Variant Name:            all-traffic
  Region:                    us-east-2
Status:
  Creation Time:         2019-11-22T19:40:04Z
  Endpoint Arn:          arn:aws:sagemaker:us-east-2:123456789012:endpoint/host-xgboost-def0e83e0d5f11eaaaexample
  Endpoint Config Name:  host-xgboost-1-def0e83e0d5f11e-e08f6c510d5f11eaaa450aexample
  Endpoint Name:         host-xgboost-def0e83e0d5f11eaaa450a350733ba06
  Endpoint Status:       Creating
  Endpoint URL:          https://runtime.sagemaker.us-east-2.amazonaws.com/endpoints/host-xgboost-def0e83e0d5f11eaaaexample/invocations
  Last Check Time:       2019-11-22T19:43:57Z
  Last Modified Time:    2019-11-22T19:40:04Z
  Model Names:
    Name:   xgboost-model
    Value:  xgboost-model-1-def0e83e0d5f11-df5cc9fd0d5f11eaaa450aexample
Events:     <none>
```

Das Statusfeld enthält weitere Informationen mithilfe der folgenden Felder: 
+ `Additional`: Zusätzliche Informationen über den Status des Hosting-Einsatzes. Dieses Feld ist optional und wird nur im Falle eines Fehlers ausgefüllt. 
+ `Creation Time`: Als der Endpunkt in SageMaker KI erstellt wurde. 
+ `Endpoint ARN`: Der SageMaker KI-Endpunkt ARN. 
+ `Endpoint Config Name`: Der SageMaker AI-Name der Endpunktkonfiguration. 
+ `Endpoint Name`: Der SageMaker AI-Name des Endpunkts. 
+ `Endpoint Status`: Der Status des Endpunkts. 
+ `Endpoint URL`: Die HTTPS-URL, die für den Zugriff auf den Endpunkt verwendet werden kann. Weitere Informationen finden Sie unter [Bereitstellen eines Modells auf SageMaker KI-Hostingdiensten](https://docs.aws.amazon.com/sagemaker/latest/dg/deploy-model.html). 
+ `FailureReason`: Wenn ein Befehl zum Erstellen, Aktualisieren oder Löschen fehlschlägt, wird die Ursache hier angezeigt. 
+ `Last Check Time`: Das letzte Mal, dass der Operator den Status des Endpunkts überprüft hat. 
+ `Last Modified Time`: Das letzte Mal wurde der Endpunkt geändert. 
+ `Model Names`: Ein Schlüssel-Wert-Paar von HostingDeployment Modellnamen zu SageMaker KI-Modellnamen. 

### Aufrufen des Endpunkts
<a name="invoking-the-endpoint"></a>

Sobald der Endpunktstatus lautet`InService`, können Sie den Endpunkt auf zwei Arten aufrufen: mit der AWS CLI, die Authentifizierung und URL-Anforderungssignierung durchführt, oder mit einem HTTP-Client wie cURL. Wenn Sie Ihren eigenen Client verwenden, müssen Sie die AWS v4-URL-Signatur und -Authentifizierung selbst durchführen. 

Führen Sie den folgenden Befehl aus, um den Endpunkt mit der AWS CLI aufzurufen. Achten Sie darauf, die Region und den Endpunktnamen durch den Regions- und SageMaker AI-Endpunktnamen Ihres Endpunkts zu ersetzen. Diese Informationen können der Ausgabe von `kubectl describe` entnommen werden. 

```
# Invoke the endpoint with mock input data.
aws sagemaker-runtime invoke-endpoint \
  --region us-east-2 \
  --endpoint-name <endpoint name> \
  --body $(seq 784 | xargs echo | sed 's/ /,/g') \
  >(cat) \
  --content-type text/csv > /dev/null
```

Wenn Ihre Region beispielsweise lautet `us-east-2` und Ihr Endpunkt-Konfigurationsname lautet `host-xgboost-f56b6b280d7511ea824b129926example`, würde der folgende Befehl den Endpunkt aufrufen: 

```
aws sagemaker-runtime invoke-endpoint \
  --region us-east-2 \
  --endpoint-name host-xgboost-f56b6b280d7511ea824b1299example \
  --body $(seq 784 | xargs echo | sed 's/ /,/g') \
  >(cat) \
  --content-type text/csv > /dev/null
4.95847082138
```

Hier ist `4.95847082138` die Vorhersage aus dem Modell für die Scheindaten. 

### Aktualisieren HostingDeployment
<a name="update-hostingdeployment"></a>

1. Sobald a den Status HostingDeployment hat`InService`, kann es aktualisiert werden. Es kann etwa 10 Minuten dauern HostingDeployment , bis es in Betrieb ist. Um zu überprüfen, ob der Status `InService` ist, verwenden Sie den folgenden Befehl: 

   ```
   kubectl get hostingdeployments
   ```

1. Der HostingDeployment kann aktualisiert werden, bevor der Status lautet`InService`. Der Operator wartet, bis der SageMaker KI-Endpunkt erreicht ist, `InService` bevor er das Update anwendet. 

   Um ein Update anzuwenden, ändern Sie die `hosting.yaml`-Datei. Ändern Sie das `initialInstanceCount` Feld beispielsweise wie folgt von 1 auf 2: 

   ```
   apiVersion: sagemaker.aws.amazon.com/v1
   kind: HostingDeployment
   metadata:
     name: host-xgboost
   spec:
       region: us-east-2
       productionVariants:
           - variantName: all-traffic
             modelName: xgboost-model
             initialInstanceCount: 2
             instanceType: ml.c5.large
       models:
           - name: xgboost-model
             executionRoleArn: arn:aws:iam::123456789012:role/service-role/AmazonSageMaker-ExecutionRole
             primaryContainer: xgboost
             containers:
               - xgboost
       containers:
           - containerHostname: xgboost
             modelDataUrl: s3://amzn-s3-demo-bucket/inference/xgboost-mnist/model.tar.gz
             image: 123456789012.dkr.ecr.us-east-2.amazonaws.com/xgboost:latest
   ```

1. Speichern Sie die Datei und verwenden Sie `kubectl` sie dann, um Ihr Update wie folgt anzuwenden. Der Status sollte sich von `InService` zu `ReconcilingEndpoint` und dann zu `Updating` ändern. 

   ```
   $ kubectl apply -f hosting.yaml
   hostingdeployment.sagemaker.aws.amazon.com/host-xgboost configured
   
   $ kubectl get hostingdeployments
   NAME           STATUS                SAGEMAKER-ENDPOINT-NAME
   host-xgboost   ReconcilingEndpoint   host-xgboost-def0e83e0d5f11eaaa450a350abcdef
   
   $ kubectl get hostingdeployments
   NAME           STATUS     SAGEMAKER-ENDPOINT-NAME
   host-xgboost   Updating   host-xgboost-def0e83e0d5f11eaaa450a3507abcdef
   ```

SageMaker KI stellt eine neue Gruppe von Instanzen mit Ihren Modellen bereit, leitet den Datenverkehr auf die neuen Instanzen um und entleert die alten Instanzen. Sobald dieser Prozess beginnt, wird der Status `Updating`. Nachdem das Update abgeschlossen ist, wird Ihr Endpunkt `InService`. Dieser Vorgang dauert ca. 10 Minuten. 

### Löschen Sie die HostingDeployment
<a name="delete-the-hostingdeployment"></a>

1. Verwenden Sie`kubectl`, um eine HostingDeployment mit dem folgenden Befehl zu löschen: 

   ```
   kubectl delete hostingdeployments host-xgboost
   ```

   Die Ausgabe sollte folgendermaßen aussehen: 

   ```
   hostingdeployment.sagemaker.aws.amazon.com "host-xgboost" deleted
   ```

1. Verwenden Sie den folgenden Befehl, um zu überprüfen, ob die Hosting-Bereitstellung gelöscht wurde: 

   ```
   kubectl get hostingdeployments
   No resources found.
   ```

Für gelöschte Endpunkte fallen keine Gebühren für SageMaker KI-Ressourcen an. 

## Der Betreiber ProcessingJob
<a name="kubernetes-processing-job-operator"></a>

ProcessingJob Operatoren werden verwendet, um SageMaker Amazon-Verarbeitungsaufträge zu starten. Weitere Informationen zur SageMaker Verarbeitung von Aufträgen finden Sie unter [CreateProcessingJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateProcessingJob.html). 

**Topics**
+ [Erstellen Sie eine ProcessingJob mit einer YAML-Datei](#kubernetes-processing-job-yaml)
+ [Liste ProcessingJobs](#kubernetes-processing-job-list)
+ [Beschreiben Sie ein ProcessingJob](#kubernetes-processing-job-description)
+ [Lösche ein ProcessingJob](#kubernetes-processing-job-delete)

### Erstellen Sie eine ProcessingJob mit einer YAML-Datei
<a name="kubernetes-processing-job-yaml"></a>

Gehen Sie wie folgt vor, um mithilfe einer YAML-Datei einen SageMaker Amazon-Verarbeitungsauftrag zu erstellen:

1. Laden Sie das Vorverarbeitungsskript `kmeans_preprocessing.py` herunter.

   ```
   wget https://raw.githubusercontent.com/aws/amazon-sagemaker-operator-for-k8s/master/samples/kmeans_preprocessing.py
   ```

1. Erstellen Sie in einem Ihrer Amazon Simple Storage Service (Amazon S3) -Buckets einen `mnist_kmeans_example/processing_code` Ordner und laden Sie das Skript in den Ordner hoch.

1. Laden Sie die Datei `kmeans-mnist-processingjob.yaml` herunter.

   ```
   wget https://raw.githubusercontent.com/aws/amazon-sagemaker-operator-for-k8s/master/samples/kmeans-mnist-processingjob.yaml
   ```

1. Bearbeiten Sie die YAML-Datei, um Ihren `sagemaker-execution-role` zu spezifizieren, und ersetzen Sie alle Instances von `amzn-s3-demo-bucket` durch Ihren S3-Bucket.

   ```
   ...
   metadata:
     name: kmeans-mnist-processing
   ...
     roleArn: arn:aws:iam::<acct-id>:role/service-role/<sagemaker-execution-role>
     ...
     processingOutputConfig:
       outputs:
         ...
             s3Output:
               s3Uri: s3://<amzn-s3-demo-bucket>/mnist_kmeans_example/output/
     ...
     processingInputs:
       ...
           s3Input:
             s3Uri: s3://<amzn-s3-demo-bucket>/mnist_kmeans_example/processing_code/kmeans_preprocessing.py
   ```

   Sie `sagemaker-execution-role` müssen über Berechtigungen verfügen, damit SageMaker KI in Ihrem Namen auf Ihren S3-Bucket CloudWatch, Amazon und andere Dienste zugreifen kann. Weitere Informationen zum Erstellen einer Ausführungsrolle finden Sie unter [SageMaker KI-Rollen](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-roles.html#sagemaker-roles-createtrainingjob-perms).

1. Wenden Sie die YAML-Datei mit einem der folgenden Befehle an.

   Für eine Installation im Clusterbereich:

   ```
   kubectl apply -f kmeans-mnist-processingjob.yaml
   ```

   Für eine Installation im Namespace-Bereich:

   ```
   kubectl apply -f kmeans-mnist-processingjob.yaml -n <NAMESPACE>
   ```

### Liste ProcessingJobs
<a name="kubernetes-processing-job-list"></a>

Verwenden Sie einen der folgenden Befehle, um alle Jobs aufzulisten, die mit dem ProcessingJob Operator erstellt wurden. `SAGEMAKER-JOB-NAME `stammt aus dem `metadata` Abschnitt der YAML-Datei.

Für eine Installation im Clusterbereich:

```
kubectl get ProcessingJob kmeans-mnist-processing
```

Für eine Installation im Namespace-Bereich:

```
kubectl get ProcessingJob -n <NAMESPACE> kmeans-mnist-processing
```

Ihre Ausgabe sollte wie folgt aussehen:

```
NAME                    STATUS     CREATION-TIME        SAGEMAKER-JOB-NAME
kmeans-mnist-processing InProgress 2020-09-22T21:13:25Z kmeans-mnist-processing-7410ed52fd1811eab19a165ae9f9e385
```

In der Ausgabe werden alle Aufträge unabhängig von ihrem Status aufgeführt. Informationen zum Entfernen eines Auftrags aus der Liste finden Sie unter [Löschen eines Verarbeitungsauftrags](https://docs.aws.amazon.com/sagemaker/latest/dg/kubernetes-processing-job-operator.html#kubernetes-processing-job-delete).

**ProcessingJob Status**
+ `SynchronizingK8sJobWithSageMaker`– Der Auftrag wird zuerst an den Cluster übermittelt. Der Operator hat die Anforderung erhalten und bereitet die Erstellung des Verarbeitungsauftrags vor.
+ `Reconciling`– Der Operator initialisiert oder behebt vorübergehende Fehler und andere Fehler. Bleibt der Verarbeitungsauftrag in diesem Status, verwenden Sie den `kubectl` `describe` Befehl, um den Grund im Feld `Additional` zu ermitteln.
+ `InProgress | Completed | Failed | Stopping | Stopped`— Status des SageMaker Verarbeitungsauftrags. Weitere Informationen finden Sie unter [DescribeProcessingJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeProcessingJob.html#sagemaker-DescribeProcessingJob-response-ProcessingJobStatus).
+ `Error`– Der Operator kann die Wiederherstellung nicht durch einen Abgleich durchführen.

Für Aufträge, die abgeschlossen, gestoppt oder fehlgeschlagen sind, fallen keine weiteren Gebühren für SageMaker KI-Ressourcen an.

### Beschreiben Sie ein ProcessingJob
<a name="kubernetes-processing-job-description"></a>

Verwenden Sie einen der folgenden Befehle, um weitere Informationen zu einem Verarbeitungsauftrag zu erhalten. Diese Befehle werden normalerweise zum Debuggen eines Problems oder zum Überprüfen der Parameter eines Verarbeitungsauftrags verwendet.

Für eine Installation im Clusterbereich:

```
kubectl describe processingjob kmeans-mnist-processing
```

Für eine Installation im Namespace-Bereich:

```
kubectl describe processingjob kmeans-mnist-processing -n <NAMESPACE>
```

Die Ausgabe Ihres Verarbeitungsauftrags sollte in etwa so aussehen wie die folgende.

```
$ kubectl describe ProcessingJob kmeans-mnist-processing
Name:         kmeans-mnist-processing
Namespace:    default
Labels:       <none>
Annotations:  kubectl.kubernetes.io/last-applied-configuration:
                {"apiVersion":"sagemaker.aws.amazon.com/v1","kind":"ProcessingJob","metadata":{"annotations":{},"name":"kmeans-mnist-processing",...
API Version:  sagemaker.aws.amazon.com/v1
Kind:         ProcessingJob
Metadata:
  Creation Timestamp:  2020-09-22T21:13:25Z
  Finalizers:
    sagemaker-operator-finalizer
  Generation:        2
  Resource Version:  21746658
  Self Link:         /apis/sagemaker.aws.amazon.com/v1/namespaces/default/processingjobs/kmeans-mnist-processing
  UID:               7410ed52-fd18-11ea-b19a-165ae9f9e385
Spec:
  App Specification:
    Container Entrypoint:
      python
      /opt/ml/processing/code/kmeans_preprocessing.py
    Image Uri:  763104351884.dkr.ecr.us-west-2.amazonaws.com/pytorch-training:1.5.0-cpu-py36-ubuntu16.04
  Environment:
    Name:   MYVAR
    Value:  my_value
    Name:   MYVAR2
    Value:  my_value2
  Network Config:
  Processing Inputs:
    Input Name:  mnist_tar
    s3Input:
      Local Path:   /opt/ml/processing/input
      s3DataType:   S3Prefix
      s3InputMode:  File
      s3Uri:        s3://<s3bucket>-us-west-2/algorithms/kmeans/mnist/mnist.pkl.gz
    Input Name:     source_code
    s3Input:
      Local Path:   /opt/ml/processing/code
      s3DataType:   S3Prefix
      s3InputMode:  File
      s3Uri:        s3://<s3bucket>/mnist_kmeans_example/processing_code/kmeans_preprocessing.py
  Processing Output Config:
    Outputs:
      Output Name:  train_data
      s3Output:
        Local Path:    /opt/ml/processing/output_train/
        s3UploadMode:  EndOfJob
        s3Uri:         s3://<s3bucket>/mnist_kmeans_example/output/
      Output Name:     test_data
      s3Output:
        Local Path:    /opt/ml/processing/output_test/
        s3UploadMode:  EndOfJob
        s3Uri:         s3://<s3bucket>/mnist_kmeans_example/output/
      Output Name:     valid_data
      s3Output:
        Local Path:    /opt/ml/processing/output_valid/
        s3UploadMode:  EndOfJob
        s3Uri:         s3://<s3bucket>/mnist_kmeans_example/output/
  Processing Resources:
    Cluster Config:
      Instance Count:     1
      Instance Type:      ml.m5.xlarge
      Volume Size In GB:  20
  Region:                 us-west-2
  Role Arn:               arn:aws:iam::<acct-id>:role/m-sagemaker-role
  Stopping Condition:
    Max Runtime In Seconds:  1800
  Tags:
    Key:    tagKey
    Value:  tagValue
Status:
  Cloud Watch Log URL:             https://us-west-2.console.aws.amazon.com/cloudwatch/home?region=us-west-2#logStream:group=/aws/sagemaker/ProcessingJobs;prefix=kmeans-mnist-processing-7410ed52fd1811eab19a165ae9f9e385;streamFilter=typeLogStreamPrefix
  Last Check Time:                 2020-09-22T21:14:29Z
  Processing Job Status:           InProgress
  Sage Maker Processing Job Name:  kmeans-mnist-processing-7410ed52fd1811eab19a165ae9f9e385
Events:                            <none>
```

### Lösche ein ProcessingJob
<a name="kubernetes-processing-job-delete"></a>

Wenn Sie einen Verarbeitungsjob löschen, wird der SageMaker Verarbeitungsjob aus Kubernetes entfernt, der Job wird jedoch nicht aus SageMaker AI gelöscht. Wenn der Jobstatus in SageMaker AI lautet, ist `InProgress` der Job gestoppt. Für die Verarbeitung von Jobs, die gestoppt wurden, fallen keine Gebühren für SageMaker KI-Ressourcen an. Verwenden Sie einen der folgenden Befehle, um einen Verarbeitungsauftrag zu löschen. 

Für eine Installation im Clusterbereich:

```
kubectl delete processingjob kmeans-mnist-processing
```

Für eine Installation im Namespace-Bereich:

```
kubectl delete processingjob kmeans-mnist-processing -n <NAMESPACE>
```

Die Ausgabe Ihres Verarbeitungsauftrags sollte in etwa so aussehen wie die folgende.

```
processingjob.sagemaker.aws.amazon.com "kmeans-mnist-processing" deleted
```



**Anmerkung**  
SageMaker AI löscht den Verarbeitungsjob nicht. Gestoppte Jobs werden weiterhin in der SageMaker AI-Konsole angezeigt. Der `delete` Befehl benötigt einige Minuten, um die Ressourcen aus der SageMaker KI zu bereinigen.

## HostingAutoscalingPolicy (HAP) Betreiber
<a name="kubernetes-hap-operator"></a>

Der Operator HostingAutoscalingPolicy (HAP) verwendet eine Liste von Ressourcen IDs als Eingabe und wendet auf jede von ihnen dieselbe Richtlinie an. Jede Ressourcen-ID ist eine Kombination aus einem Endpunktnamen und einem Variantennamen. Der HAP-Operator führt zwei Schritte aus: Er registriert die Ressource IDs und wendet dann die Skalierungsrichtlinie auf jede Ressourcen-ID an. `Delete`macht beide Aktionen rückgängig. [Sie können das HAP auf einen vorhandenen SageMaker KI-Endpunkt anwenden oder mithilfe des Operators einen neuen SageMaker KI-Endpunkt erstellen. HostingDeployment ](https://docs.aws.amazon.com/sagemaker/latest/dg/hosting-deployment-operator.html#create-a-hostingdeployment) Weitere Informationen zur automatischen Skalierung von SageMaker KI finden Sie in der Dokumentation zur Richtlinie zur [automatischen Skalierung von Anwendungen](https://docs.aws.amazon.com/sagemaker/latest/dg/endpoint-auto-scaling.html).

**Anmerkung**  
In Ihren `kubectl` Befehlen können Sie anstelle von `hostingautoscalingpolicy` die Kurzform, `hap`, verwenden.

**Topics**
+ [Erstellen Sie eine HostingAutoscalingPolicy mithilfe einer YAML-Datei](#kubernetes-hap-job-yaml)
+ [Liste HostingAutoscalingPolicies](#kubernetes-hap-list)
+ [Beschreiben Sie ein HostingAutoscalingPolicy](#kubernetes-hap-describe)
+ [Aktualisieren Sie ein HostingAutoscalingPolicy](#kubernetes-hap-update)
+ [Lösche ein HostingAutoscalingPolicy](#kubernetes-hap-delete)
+ [Aktualisieren oder löschen Sie einen Endpunkt mit einem HostingAutoscalingPolicy](#kubernetes-hap-update-delete-endpoint)

### Erstellen Sie eine HostingAutoscalingPolicy mithilfe einer YAML-Datei
<a name="kubernetes-hap-job-yaml"></a>

Verwenden Sie eine YAML-Datei, um eine HostingAutoscalingPolicy (HAP) zu erstellen, die eine vordefinierte oder benutzerdefinierte Metrik auf einen oder mehrere SageMaker KI-Endpunkte anwendet.

Amazon SageMaker AI benötigt bestimmte Werte, um Autoscaling auf Ihre Variante anzuwenden. Wenn diese Werte in der YAML-Spezifikation nicht angegeben sind, wendet der HAP-Operator die folgenden Standardwerte an.

```
# Do not change
Namespace                    = "sagemaker"
# Do not change
ScalableDimension            = "sagemaker:variant:DesiredInstanceCount"
# Only one supported
PolicyType                   = "TargetTrackingScaling"
# This is the default policy name but can be changed to apply a custom policy
DefaultAutoscalingPolicyName = "SageMakerEndpointInvocationScalingPolicy"
```

Verwenden Sie die folgenden Beispiele, um ein HAP zu erstellen, das eine vordefinierte oder benutzerdefinierte Metrik auf einen oder mehrere Endpunkte anwendet.

#### Beispiel 1: Wenden Sie eine vordefinierte Metrik auf eine einzelne Endpunktvariante an
<a name="kubernetes-hap-predefined-metric"></a>

1. Laden Sie die YAML-Beispieldatei für eine vordefinierte Metrik mit dem folgenden Befehl herunter:

   ```
   wget https://raw.githubusercontent.com/aws/amazon-sagemaker-operator-for-k8s/master/samples/hap-predefined-metric.yaml
   ```

1. Bearbeiten Sie die YAML-Datei, um Ihr `endpointName`, `variantName`, und `Region` anzugeben.

1. Verwenden Sie einen der folgenden Befehle, um eine vordefinierte Metrik auf eine einzelne Ressourcen-ID (Kombination aus Endpunktname und Variantenname) anzuwenden.

   Für eine Installation im Clusterbereich:

   ```
   kubectl apply -f hap-predefined-metric.yaml
   ```

   Für eine Installation im Namespace-Bereich:

   ```
   kubectl apply -f hap-predefined-metric.yaml -n <NAMESPACE>
   ```

#### Beispiel 2: Wenden Sie eine benutzerdefinierte Metrik auf eine einzelne Endpunktvariante an
<a name="kubernetes-hap-custom-metric"></a>

1. Laden Sie die YAML-Beispieldatei für eine benutzerdefinierte Metrik mit dem folgenden Befehl herunter:

   ```
   wget https://raw.githubusercontent.com/aws/amazon-sagemaker-operator-for-k8s/master/samples/hap-custom-metric.yaml
   ```

1. Bearbeiten Sie die YAML-Datei, um Ihr `endpointName`, `variantName`, und `Region` anzugeben.

1. Verwenden Sie einen der folgenden Befehle, um anstelle der empfohlenen `SageMakerVariantInvocationsPerInstance` eine benutzerdefinierte Metrik auf eine einzelne Ressourcen-ID (Kombination aus Endpunktname und Variantenname) anzuwenden.
**Anmerkung**  
Amazon SageMaker AI überprüft nicht die Gültigkeit Ihrer YAML-Spezifikation.

   Für eine Installation im Clusterbereich:

   ```
   kubectl apply -f hap-custom-metric.yaml
   ```

   Für eine Installation im Namespace-Bereich:

   ```
   kubectl apply -f hap-custom-metric.yaml -n <NAMESPACE>
   ```

#### Beispiel 3: Wenden Sie eine Skalierungsrichtlinie auf mehrere Endpunkte und Varianten an
<a name="kubernetes-hap-scaling-policy"></a>

Sie können den HAP-Operator verwenden, um dieselbe Skalierungsrichtlinie auf mehrere Ressourcen anzuwenden. IDs Für jede Ressourcen-ID (Kombination aus Endpunktname und Variantenname) wird eine separate `scaling_policy` Anfrage erstellt.

1. Laden Sie die YAML-Beispieldatei für eine vordefinierte Metrik mit dem folgenden Befehl herunter:

   ```
   wget https://raw.githubusercontent.com/aws/amazon-sagemaker-operator-for-k8s/master/samples/hap-predefined-metric.yaml
   ```

1. Bearbeiten Sie die YAML-Datei, um Ihr `Region` und mehrere `endpointName` und `variantName`-Werte anzugeben.

1. Verwenden Sie einen der folgenden Befehle, um eine vordefinierte Metrik auf mehrere Ressourcen anzuwenden IDs (Kombinationen aus Endpunktname und Variantenname).

   Für eine Installation im Clusterbereich:

   ```
   kubectl apply -f hap-predefined-metric.yaml
   ```

   Für eine Installation im Namespace-Bereich:

   ```
   kubectl apply -f hap-predefined-metric.yaml -n <NAMESPACE>
   ```

#### Überlegungen HostingAutoscalingPolicies für mehrere Endpunkte und Varianten
<a name="kubernetes-hap-scaling-considerations"></a>

Die folgenden Überlegungen gelten, wenn Sie mehrere Ressourcen IDs verwenden:
+ Wenn Sie eine einzelne Richtlinie auf mehrere Ressourcen anwenden IDs, wird ein PolicyArn pro Ressourcen-ID erstellt. Fünf Endpunkte haben fünf Richtlinien. ARNs Wenn Sie den `describe` Befehl für die Richtlinie ausführen, werden die Antworten als ein Auftrag angezeigt und enthalten einen einzelnen Auftragsstatus.
+ Wenn Sie eine benutzerdefinierte Metrik auf mehrere Ressourcen anwenden IDs, wird dieselbe Dimension oder derselbe Wert für alle Ressourcen-ID-Werte (Variante) verwendet. Wenn Sie beispielsweise eine Kundenmetrik für die Instances 1-5 anwenden und die Dimension der Endpunktvariante der Variante 1 zugeordnet wird, werden alle Endpunkte nach oben oder unten skaliert, wenn Variante 1 die Metriken überschreitet.
+ Der HAP-Operator unterstützt die Aktualisierung der IDs Ressourcenliste. Wenn Sie eine Ressource IDs zur Spezifikation ändern, hinzufügen oder löschen, wird die Autoscaling-Richtlinie aus der vorherigen Variantenliste entfernt und auf die neu angegebenen Ressourcen-ID-Kombinationen angewendet. Verwenden Sie den [https://docs.aws.amazon.com/sagemaker/latest/dg/kubernetes-hap-operator.html#kubernetes-hap-describe](https://docs.aws.amazon.com/sagemaker/latest/dg/kubernetes-hap-operator.html#kubernetes-hap-describe)Befehl, um die Ressource aufzulisten IDs , auf die die Richtlinie derzeit angewendet wird.

### Liste HostingAutoscalingPolicies
<a name="kubernetes-hap-list"></a>

Verwenden Sie einen der folgenden Befehle, um alle HostingAutoscalingPolicies (HAPs) aufzulisten, die mit dem HAP-Operator erstellt wurden.

Für eine Installation im Clusterbereich:

```
kubectl get hap
```

Für eine Installation im Namespace-Bereich:

```
kubectl get hap -n <NAMESPACE>
```

Ihre Ausgabe sollte wie folgt aussehen:

```
NAME             STATUS   CREATION-TIME
hap-predefined   Created  2021-07-13T21:32:21Z
```

Verwenden Sie den folgenden Befehl, um den Status Ihres HostingAutoscalingPolicy (HAP) zu überprüfen.

```
kubectl get hap <job-name>
```

Es wird einer der folgenden Werte zurückgegeben:
+ `Reconciling` – Bei bestimmten Fehlertypen wird der Status als `Reconciling` statt als `Error` angezeigt. Einige Beispiele sind serverseitige Fehler und Endpunkte im Status `Creating` oder `Updating`. Prüfen Sie das Feld `Additional` in den Status- oder Bedienerprotokollen für weitere Einzelheiten.
+ `Created`
+ `Error`

**Um den Autoscaling-Endpunkt anzuzeigen, auf den Sie die Richtlinie angewendet haben**

1. Öffnen Sie die Amazon SageMaker AI-Konsole unter [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/).

1. Erweitern Sie im linken Seitenbereich die Option **Inferenz**.

1. Wählen Sie **Endpunkte** aus.

1. Wählen Sie den Namen des interessierenden Endpunkts aus.

1. Blättern Sie zum Abschnitt **Endpunkt-Laufzeiteinstellungen**.

### Beschreiben Sie ein HostingAutoscalingPolicy
<a name="kubernetes-hap-describe"></a>

Verwenden Sie den folgenden Befehl, um weitere Informationen zu a HostingAutoscalingPolicy (HAP) zu erhalten. Diese Befehle werden normalerweise zum Debuggen eines Problems oder zum Überprüfen der Ressource IDs (Kombinationen aus Endpunktname und Variantennamen) eines HAP verwendet.

```
kubectl describe hap <job-name>
```

### Aktualisieren Sie ein HostingAutoscalingPolicy
<a name="kubernetes-hap-update"></a>

Der Operator HostingAutoscalingPolicy (HAP) unterstützt Updates. Sie können Ihre YAML-Spezifikation bearbeiten, um die Werte zu ändern, und dann die Richtlinie erneut anwenden. Der HAP-Operator löscht die bestehende Richtlinie und wendet die neue Richtlinie an.

### Lösche ein HostingAutoscalingPolicy
<a name="kubernetes-hap-delete"></a>

Verwenden Sie einen der folgenden Befehle, um eine HostingAutoscalingPolicy (HAP-) Richtlinie zu löschen.

Für eine Installation im Clusterbereich:

```
kubectl delete hap hap-predefined
```

Für eine Installation im Namespace-Bereich:

```
kubectl delete hap hap-predefined -n <NAMESPACE>
```

Dieser Befehl löscht die Skalierungsrichtlinie und hebt die Registrierung des Skalierungsziels bei Kubernetes auf. Dieser Befehl liefert die folgende Ausgabe:

```
hostingautoscalingpolicies.sagemaker.aws.amazon.com "hap-predefined" deleted
```

### Aktualisieren oder löschen Sie einen Endpunkt mit einem HostingAutoscalingPolicy
<a name="kubernetes-hap-update-delete-endpoint"></a>

Um einen Endpunkt mit einem HostingAutoscalingPolicy (HAP) zu aktualisieren, verwenden Sie den `kubectl` `delete` Befehl, um das HAP zu entfernen, den Endpunkt zu aktualisieren und das HAP dann erneut anzuwenden.

Um einen Endpunkt zu löschen, der über ein HAP verfügt, verwenden Sie den `kubectl` `delete` Befehl, um das HAP zu entfernen, bevor Sie den Endpunkt löschen.

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

# Ankündigung des Endes der Support der Originalversion von SageMaker AI Operators for Kubernetes
<a name="kubernetes-sagemaker-operators-eos-announcement"></a>

Diese Seite kündigt das Ende des Supports für die Originalversion von [SageMaker AI Operators for Kubernetes](https://github.com/aws/amazon-sagemaker-operator-for-k8s) an und bietet Antworten auf häufig gestellte Fragen sowie Migrationsinformationen zum [ACK Service Controller für Amazon SageMaker AI](https://github.com/aws-controllers-k8s/sagemaker-controller), einer neuen Generation vollständig unterstützter SageMaker AI Operators for Kubernetes. Allgemeine Informationen zu den neuen SageMaker KI-Operatoren für Kubernetes finden Sie unter. [Aktuelle SageMaker KI-Operatoren für Kubernetes](kubernetes-sagemaker-operators-ack.md) 

## Ende des Support Häufig gestellte Fragen
<a name="kubernetes-sagemaker-operators-eos-faq"></a>

**Topics**
+ [Warum beenden wir den Support für die Originalversion von SageMaker AI Operators for Kubernetes?](#kubernetes-sagemaker-operators-eos-faq-why)
+ [Wo finde ich weitere Informationen zu den neuen SageMaker KI-Operatoren für Kubernetes und ACK?](#kubernetes-sagemaker-operators-eos-faq-more)
+ [Was bedeutet Ende des Supports (EOS)?](#kubernetes-sagemaker-operators-eos-faq-definition)
+ [Wie kann ich meinen Workload zu Trainings- und Inferenzzwecken auf die neuen SageMaker AI Operators for Kubernetes migrieren?](#kubernetes-sagemaker-operators-eos-faq-how)
+ [Zu welcher Version von ACK sollte ich migrieren?](#kubernetes-sagemaker-operators-eos-faq-version)
+ [Sind die ursprünglichen SageMaker KI-Operatoren für Kubernetes und die neuen Operators (ACK Service Controller für Amazon SageMaker AI) funktionell gleichwertig?](#kubernetes-sagemaker-operators-eos-faq-parity)

### Warum beenden wir den Support für die Originalversion von SageMaker AI Operators for Kubernetes?
<a name="kubernetes-sagemaker-operators-eos-faq-why"></a>

Benutzer können jetzt den [ACK Service Controller für Amazon SageMaker AI](https://github.com/aws-controllers-k8s/sagemaker-controller) nutzen. Der ACK Service Controller ist eine neue Generation von SageMaker KI-Operatoren für Kubernetes, die auf [AWS Controllers for Kubernetes](https://aws-controllers-k8s.github.io/community/) (ACK) basieren, einem von der Community betriebenen Projekt, das für die Produktion optimiert ist und die Art und Weise der Bereitstellung von Diensten über einen Kubernetes-Operator standardisiert. AWS [Wir kündigen daher das Ende des Supports (EOS) für die Originalversion (nicht ACK-basiert) von AI Operators for Kubernetes an. SageMaker ](https://github.com/aws/amazon-sagemaker-operator-for-k8s) Der Support endet am **15. Februar 2023** zusammen mit [Amazon Elastic Kubernetes Service Kubernetes 1.21](https://docs.aws.amazon.com/eks/latest/userguide/kubernetes-versions.html#kubernetes-release-calendar). 

Weitere Informationen zu ACK finden Sie unter [Geschichte und Grundsätze von ACK](https://aws-controllers-k8s.github.io/community/docs/community/background/).

### Wo finde ich weitere Informationen zu den neuen SageMaker KI-Operatoren für Kubernetes und ACK?
<a name="kubernetes-sagemaker-operators-eos-faq-more"></a>
+ Weitere Informationen zu den neuen SageMaker KI-Operatoren für Kubernetes finden Sie im [ACK Service Controller for Amazon SageMaker GitHub AI-Repository](https://github.com/aws-controllers-k8s/sagemaker-controller) oder in der Dokumentation zu [AWS Controllers for Kubernetes](https://aws-controllers-k8s.github.io/community/docs/community/overview/).
+ Ein Tutorial zum Trainieren eines Modells für maschinelles Lernen mit dem ACK Service Controller für Amazon SageMaker AI mithilfe von Amazon EKS finden Sie in diesem [SageMaker KI-Beispiel](https://aws-controllers-k8s.github.io/community/docs/tutorials/sagemaker-example/).

  Ein Beispiel für Autoscaling finden Sie unter [Skalieren von SageMaker KI-Workloads mit Application Auto](https://aws-controllers-k8s.github.io/community/docs/tutorials/autoscaling-example/) Scaling.
+ Informationen zu AWS Controller für Kubernetes (ACK) finden Sie in der Dokumentation zu [AWS Controllers für Kubernetes](https://aws-controllers-k8s.github.io/community/) (ACK).
+ Eine Liste der unterstützten SageMaker KI-Ressourcen finden Sie unter [ACK API-Referenz](https://aws-controllers-k8s.github.io/community/reference/).

### Was bedeutet Ende des Supports (EOS)?
<a name="kubernetes-sagemaker-operators-eos-faq-definition"></a>

Benutzer können zwar weiterhin ihre aktuellen Betreiber verwenden, wir entwickeln jedoch keine neuen Funktionen mehr für die Betreiber und werden auch keine Patches oder Sicherheitsupdates für festgestellte Probleme veröffentlichen. `v1.2.2`ist die letzte Version von [SageMaker AI Operators for Kubernetes](https://github.com/aws/amazon-sagemaker-operator-for-k8s/tree/master). Benutzer sollten ihre Workloads migrieren, um den [ACK Service Controller für Amazon SageMaker AI](https://github.com/aws-controllers-k8s/sagemaker-controller) zu verwenden.

### Wie kann ich meinen Workload zu Trainings- und Inferenzzwecken auf die neuen SageMaker AI Operators for Kubernetes migrieren?
<a name="kubernetes-sagemaker-operators-eos-faq-how"></a>

Informationen zur Migration von Ressourcen von den alten zu den neuen SageMaker KI-Operatoren für Kubernetes finden Sie im Folgenden. [Migrieren Sie Ressourcen zu den neuesten Operatoren](kubernetes-sagemaker-operators-migrate.md)

### Zu welcher Version von ACK sollte ich migrieren?
<a name="kubernetes-sagemaker-operators-eos-faq-version"></a>

Benutzer sollten auf die neueste veröffentlichte Version des [ACK Service Controllers für Amazon SageMaker AI](https://github.com/aws-controllers-k8s/sagemaker-controller/tags) migrieren.

### Sind die ursprünglichen SageMaker KI-Operatoren für Kubernetes und die neuen Operators (ACK Service Controller für Amazon SageMaker AI) funktionell gleichwertig?
<a name="kubernetes-sagemaker-operators-eos-faq-parity"></a>

Ja, sie entsprechen den gleichen Funktionen.

Zu den wichtigsten nennenswerten Unterschieden zwischen den beiden Versionen gehören:
+ Die von den ACK-basierten SageMaker KI-Operatoren für Kubernetes verwendeten benutzerdefinierten Ressourcendefinitionen (CRD) folgen der AWS API-Definition und sind daher nicht mit den benutzerdefinierten Ressourcenspezifikationen der SageMaker AI Operators for Kubernetes in der Originalversion kompatibel. Informationen zur Übernahme der [CRDs](https://github.com/aws-controllers-k8s/sagemaker-controller/tree/main/helm/crds)Ressourcen und zur Verwendung des neuen Controllers finden Sie im neuen Controller oder im Migrationsleitfaden. 
+ Die `Hosting Autoscaling` Richtlinie ist nicht mehr Teil der neuen SageMaker AI Operators for Kubernetes und wurde auf den ACK-Controller für [automatische Skalierung von Anwendungen](https://github.com/aws-controllers-k8s/applicationautoscaling-controller) migriert. [Um zu erfahren, wie Sie den Controller für die automatische Skalierung von Anwendungen verwenden, um Autoscaling auf SageMaker KI-Endpunkten zu konfigurieren, folgen Sie diesem Autoscaling-Beispiel.](https://aws-controllers-k8s.github.io/community/docs/tutorials/autoscaling-example/) 
+ Die `HostingDeployment` Ressource wurde verwendet, um Modelle, Endpunktkonfigurationen und Endpunkte in einer CRD zu erstellen. Die neuen SageMaker AI Operators for Kubernetes verfügen über eine separate CRD für jede dieser Ressourcen. 