

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.

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