

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

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

Esta seção é baseada na versão original dos [operadores de SageMaker IA para Kubernetes](https://github.com/aws/amazon-sagemaker-operator-for-k8s).

**Importante**  
Estamos interrompendo o desenvolvimento e o suporte técnico da versão original do [ SageMaker Operators for Kubernetes](https://github.com/aws/amazon-sagemaker-operator-for-k8s/tree/master).  
Se você estiver usando atualmente a versão `v1.2.2` ou inferior do [ SageMaker Operators for Kubernetes](https://github.com/aws/amazon-sagemaker-operator-for-k8s/tree/master), recomendamos migrar seus recursos para o [controlador de serviço ACK da Amazon](https://github.com/aws-controllers-k8s/sagemaker-controller). SageMaker O controlador de serviço ACK é uma nova geração de SageMaker operadores para Kubernetes com base em [AWS controladores para Kubernetes](https://aws-controllers-k8s.github.io/community/) (ACK).  
Para obter informações sobre as etapas de migração, consulte [Migre recursos para os operadores mais recentes](kubernetes-sagemaker-operators-migrate.md).  
Para obter respostas às perguntas frequentes sobre o fim do suporte da versão original do SageMaker Operators for Kubernetes, consulte [Anunciando o fim do suporte da versão original do SageMaker AI Operators for Kubernetes](kubernetes-sagemaker-operators-eos-announcement.md)

Para executar um trabalho do Amazon SageMaker AI usando os Operadores para Kubernetes, você pode aplicar um arquivo YAML ou usar os Helm Charts fornecidos. 

Todos os trabalhos de operador de amostra nos tutoriais a seguir usam dados de amostra retirados de um conjunto de dados público do MNIST. Para executar essas amostras, baixe o conjunto de dados em seu bucket do Amazon S3. Você pode encontrar o conjunto de dados em [Baixar o conjunto de dados do MNIST](https://docs.aws.amazon.com/sagemaker/latest/dg/ex1-preprocess-data-pull-data.html). 

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

## O TrainingJob operador
<a name="trainingjob-operator"></a>

Os operadores de trabalho de treinamento reconciliam sua especificação de trabalho de treinamento especificada com a SageMaker IA, lançando-a para você na IA. SageMaker Você pode aprender mais sobre trabalhos SageMaker de treinamento na [documentação da CreateTrainingJob API](https://docs.aws.amazon.com/sagemaker/latest/dg/API_CreateTrainingJob.html) de SageMaker IA. 

**Topics**
+ [Crie um TrainingJob usando um arquivo YAML](#create-a-trainingjob-using-a-simple-yaml-file)
+ [Crie um TrainingJob usando um gráfico de leme](#create-a-trainingjob-using-a-helm-chart)
+ [Lista TrainingJobs](#list-training-jobs)
+ [Descreva um TrainingJob](#describe-a-training-job)
+ [Exibir registros de TrainingJobs](#view-logs-from-training-jobs)
+ [Excluir TrainingJobs](#delete-training-jobs)

### Crie um TrainingJob usando um arquivo YAML
<a name="create-a-trainingjob-using-a-simple-yaml-file"></a>

1. Faça download do arquivo YAML de exemplo para treinamento usando o seguinte comando: 

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

1. Edite o `xgboost-mnist-trainingjob.yaml` arquivo para substituir o `roleArn` parâmetro pelo seu `<sagemaker-execution-role>` e `outputPath` pelo seu bucket do Amazon S3 ao qual a função de execução de SageMaker IA tem acesso de gravação. Eles `roleArn` devem ter permissões para que a SageMaker IA possa acessar o Amazon S3 CloudWatch, o Amazon e outros serviços em seu nome. Para obter mais informações sobre como criar uma SageMaker IA ExecutionRole, consulte [Funções de SageMaker IA](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-roles.html#sagemaker-roles-createtrainingjob-perms). Aplique o arquivo YAML utilizando o seguinte comando: 

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

### Crie um TrainingJob usando um gráfico de leme
<a name="create-a-trainingjob-using-a-helm-chart"></a>

Você pode usar o Helm Charts para executar TrainingJobs. 

1. Clone o GitHub repositório para obter a fonte usando o seguinte comando: 

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

1. Navegue até a pasta `amazon-sagemaker-operator-for-k8s/hack/charts/training-jobs/` e edite o arquivo `values.yaml` para substituir valores como `rolearn` e `outputpath` por valores que correspondam à sua conta. O RoLearn deve ter permissões para que a SageMaker IA possa acessar o Amazon S3, o CloudWatch Amazon e outros serviços em seu nome. Para obter mais informações sobre como criar uma SageMaker IA ExecutionRole, consulte [Funções de SageMaker IA](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-roles.html#sagemaker-roles-createtrainingjob-perms). 

#### Crie o TrainingJob
<a name="create-the-training-job"></a>

Com os perfis e os buckets do Amazon S3 substituídos pelos valores apropriados no `values.yaml`, você pode criar um trabalho de treinamento usando o seguinte comando: 

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

A saída será semelhante a: 

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

#### Verifique seu chart do Helm de treinamento
<a name="verify-your-training-helm-chart"></a>

Para verificar se o chart do Helm foi criado com êxito, execute: 

```
helm ls
```

A saída será semelhante a: 

```
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
```

O `helm install`cria um recurso do `TrainingJob` do Kubernetes. O operador inicia o trabalho de treinamento real em SageMaker IA e atualiza o recurso `TrainingJob` Kubernetes para refletir o status do trabalho em IA. SageMaker Você incorre em cobranças pelos recursos de SageMaker IA usados durante a duração do seu trabalho. Você não incorre em nenhuma cobrança quando seu trabalho for concluído ou interrompido. 

**Observação**: a SageMaker IA não permite que você atualize um trabalho de treinamento em execução. Você não pode editar nenhum parâmetro e reaplicar o arquivo de configuração. Altere o nome dos metadados ou exclua o trabalho existente e crie um novo. Semelhante aos operadores de trabalho de treinamento existentes, como TFJob no Kubeflow, não `update` é suportado. 

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

Use o seguinte comando para listar todos os trabalhos criados usando o operador do Kubernetes: 

```
kubectl get TrainingJob
```

A saída que lista todos os trabalhos deve ser a seguinte: 

```
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
```

Um trabalho de treinamento continua sendo listado após a conclusão ou falha do trabalho. Você pode remover um trabalho `TrainingJob` da lista seguindo as etapas [Excluir TrainingJobs](#delete-training-jobs). Os trabalhos concluídos ou interrompidos não incorrem em nenhuma cobrança pelos recursos de SageMaker IA. 

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

O campo `STATUS` pode ter um dos seguintes valores: 
+ `Completed` 
+ `InProgress` 
+ `Failed` 
+ `Stopped` 
+ `Stopping` 

Esses status vêm diretamente da [documentação oficial da API](https://docs.aws.amazon.com/sagemaker/latest/dg/API_DescribeTrainingJob.html#SageMaker-DescribeTrainingJob-response-TrainingJobStatus) de SageMaker IA. 

Além do status oficial de SageMaker IA, é possível `STATUS` que seja`SynchronizingK8sJobWithSageMaker`. Isso significa que o operador ainda não processou o trabalho. 

#### Valores de status secundários
<a name="secondary-status-values"></a>

Os status secundários vêm diretamente da [documentação oficial da API](https://docs.aws.amazon.com/sagemaker/latest/dg/API_DescribeTrainingJob.html#SageMaker-DescribeTrainingJob-response-SecondaryStatus) de SageMaker IA. Eles contêm informações mais granulares sobre o status do trabalho. 

### Descreva um TrainingJob
<a name="describe-a-training-job"></a>

Você pode obter mais detalhes sobre o trabalho de treinamento usando o comando `describe` do `kubectl`. Isso geralmente é usado para depurar um problema ou verificar os parâmetros de um trabalho de treinamento. Para obter informações sobre o trabalho de treinamento, use o seguinte comando: 

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

A saída do trabalho de treinamento será semelhante a: 

```
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>
```

### Exibir registros de TrainingJobs
<a name="view-logs-from-training-jobs"></a>

Use o seguinte comando para visualizar os logs em log do trabalho de treinamento `kmeans-mnist`: 

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

O resultado deve ser semelhante ao seguinte: Os logs em log das instâncias são ordenados cronologicamente. 

```
"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
```

### Excluir TrainingJobs
<a name="delete-training-jobs"></a>

Use o comando a seguir para interromper um trabalho de treinamento na Amazon SageMaker AI: 

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

Esse comando remove o trabalho de SageMaker treinamento do Kubernetes. Esse comando retorna a seguinte saída: 

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

Se o trabalho ainda estiver em andamento na SageMaker IA, o trabalho será interrompido. Você não incorre em nenhuma cobrança por recursos de SageMaker IA após o término ou conclusão do trabalho. 

**Observação**: a SageMaker IA não exclui trabalhos de treinamento. Os trabalhos interrompidos continuam aparecendo no console de SageMaker IA. O `delete` comando leva cerca de 2 minutos para limpar os recursos da SageMaker IA. 

## O HyperParameterTuningJob operador
<a name="hyperparametertuningjobs-operator"></a>

Os operadores da tarefa de ajuste de hiperparâmetros reconciliam sua especificação de tarefa de ajuste de hiperparâmetros especificada com a SageMaker IA, iniciando-a na IA. SageMaker Você pode aprender mais sobre os trabalhos de ajuste de hiperparâmetros de SageMaker IA na [documentação da CreateHyperParameterTuningJob API](https://docs.aws.amazon.com/sagemaker/latest/dg/API_CreateHyperParameterTuningJob.html) de SageMaker IA. 

**Topics**
+ [Crie um HyperparameterTuningJob usando um arquivo YAML](#create-a-hyperparametertuningjob-using-a-simple-yaml-file)
+ [Crie um HyperparameterTuningJob usando um Helm Chart](#create-a-hyperparametertuningjob-using-a-helm-chart)
+ [Lista HyperparameterTuningJobs](#list-hyperparameter-tuning-jobs)
+ [Descreva um HyperparameterTuningJob](#describe-a-hyperparameter-tuning-job)
+ [Exibir registros de HyperparameterTuningJobs](#view-logs-from-hyperparametertuning-jobs)
+ [Excluir um HyperparameterTuningJob](#delete-hyperparametertuning-jobs)

### Crie um HyperparameterTuningJob usando um arquivo YAML
<a name="create-a-hyperparametertuningjob-using-a-simple-yaml-file"></a>

1. Faça download do arquivo YAML de exemplo para o trabalho de ajuste de hiperparâmetros usando o seguinte comando: 

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

1. Edite o arquivo `xgboost-mnist-hpo.yaml` para substituir o parâmetro `roleArn` pelo seu `sagemaker-execution-role`. Para que o trabalho de ajuste de hiperparâmetros seja bem-sucedido, você também deve alterar os valores de `s3InputPath` e `s3OutputPath` para que correspondem à sua conta. Aplique a atualização do arquivo YAML utilizando o seguinte comando: 

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

### Crie um HyperparameterTuningJob usando um Helm Chart
<a name="create-a-hyperparametertuningjob-using-a-helm-chart"></a>

Você pode usar charts do Helm para executar trabalhos de ajuste de hiperparâmetros. 

1. Clone o GitHub repositório para obter a fonte usando o seguinte comando: 

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

1. Navegue para a pasta `amazon-sagemaker-operator-for-k8s/hack/charts/hyperparameter-tuning-jobs/`. 

1. Edite o arquivo `values.yaml` para substituir o parâmetro `roleArn` pelo seu `sagemaker-execution-role`. Para que o trabalho de ajuste de hiperparâmetros seja bem-sucedido, você também deve alterar os valores de `s3InputPath` e `s3OutputPath` para que correspondem à sua conta. 

#### Crie o HyperparameterTuningJob
<a name="create-the-hpo-job"></a>

Com os perfis e os caminhos do Amazon S3 substituídos pelos valores apropriados no `values.yaml`, você pode criar um trabalho de ajuste de hiperparâmetros usando o seguinte comando: 

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

O resultado deve ser semelhante ao seguinte: 

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

#### Verificar a instalação do gráfico
<a name="verify-chart-installation"></a>

Para verificar se o chart do Helm foi criado com êxito, execute o seguinte comando: 

```
helm ls
```

A saída será semelhante a: 

```
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
```

O `helm install`cria um recurso do `HyperParameterTuningJob` do Kubernetes. O operador inicia o trabalho real de otimização de hiperparâmetros na SageMaker IA e atualiza o recurso `HyperParameterTuningJob` Kubernetes para refletir o status do trabalho na IA. SageMaker Você incorre em cobranças pelos recursos de SageMaker IA usados durante a duração do seu trabalho. Você não incorre em nenhuma cobrança quando seu trabalho for concluído ou interrompido. 

**Observação**: a SageMaker IA não permite que você atualize um trabalho de ajuste de hiperparâmetros em execução. Você não pode editar nenhum parâmetro e reaplicar o arquivo de configuração. Você pode alterar o nome dos metadados ou excluir o trabalho existente e crie um novo. Semelhante aos operadores de trabalho de treinamento existentes, como o `TFJob` no Kubeflow, a `update` não é compatível. 

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

Use o seguinte comando para listar todos os trabalhos criados usando o operador do Kubernetes: 

```
kubectl get hyperparametertuningjob
```

A saída será semelhante a: 

```
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
```

Um trabalho de ajuste de hiperparâmetros continua sendo listado após a conclusão ou falha do trabalho. Você pode remover um `hyperparametertuningjob` da lista seguindo as etapas em [Excluir um HyperparameterTuningJob](#delete-hyperparametertuning-jobs). Os trabalhos concluídos ou interrompidos não incorrem em nenhuma cobrança pelos recursos de SageMaker IA.

#### Valores de status de trabalho de ajuste de hiperparâmetros
<a name="hyperparameter-tuning-job-status-values"></a>

O campo `STATUS` pode ter um dos seguintes valores: 
+ `Completed` 
+ `InProgress` 
+ `Failed` 
+ `Stopped` 
+ `Stopping` 

Esses status vêm diretamente da [documentação oficial da API](https://docs.aws.amazon.com/sagemaker/latest/dg/API_DescribeHyperParameterTuningJob.html#SageMaker-DescribeHyperParameterTuningJob-response-HyperParameterTuningJobStatus) de SageMaker IA. 

Além do status oficial de SageMaker IA, é possível `STATUS` que seja`SynchronizingK8sJobWithSageMaker`. Isso significa que o operador ainda não processou o trabalho. 

#### Contadores de status
<a name="status-counters"></a>

A saída tem vários contadores, como `COMPLETED` e `INPROGRESS`. Eles representam quantos trabalhos de treinamento foram concluídos e quantos estão em andamento, respectivamente. Para obter mais informações sobre como elas são determinadas, consulte [TrainingJobStatusCounters](https://docs.aws.amazon.com/sagemaker/latest/dg/API_TrainingJobStatusCounters.html)a documentação SageMaker da API. 

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

Essa coluna contém o nome do `TrainingJob` que melhor otimizou a métrica selecionada. 

Para ver um resumo dos hiperparâmetros ajustados, execute: 

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

Para ver informações detalhadas sobre o `TrainingJob`, execute: 

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

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

Você também pode acompanhar todos os 10 trabalhos de treinamento no Kubernetes iniciados pelo `HyperparameterTuningJob` executando o seguinte comando: 

```
kubectl get trainingjobs
```

### Descreva um HyperparameterTuningJob
<a name="describe-a-hyperparameter-tuning-job"></a>

Você pode obter detalhes de depuração usando o comando `describe` do `kubectl`.

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

Além das informações sobre o trabalho de ajuste, o operador de SageMaker IA para Kubernetes também expõe o [melhor trabalho de treinamento encontrado pelo trabalho](https://docs.aws.amazon.com/sagemaker/latest/dg/automatic-model-tuning-monitor.html#automatic-model-tuning-best-training-job) de ajuste de hiperparâmetros na saída, da seguinte forma: `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>
```

### Exibir registros de HyperparameterTuningJobs
<a name="view-logs-from-hyperparametertuning-jobs"></a>

Os trabalhos de ajuste hiperparâmetros não têm logs, mas todos os trabalhos de treinamento lançados por eles têm logs. Esses logs podem ser acessados como se fossem um trabalho normal de treinamento. Para obter mais informações, consulte [Exibir registros de TrainingJobs](#view-logs-from-training-jobs).

### Excluir um HyperparameterTuningJob
<a name="delete-hyperparametertuning-jobs"></a>

Use o comando a seguir para interromper um trabalho de hiperparâmetros na SageMaker IA. 

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

Esse comando remove o trabalho de ajuste de hiperparâmetros e os trabalhos de treinamento associados do seu cluster Kubernetes e os interrompe na IA. SageMaker Os trabalhos que foram interrompidos ou concluídos não incorrem em nenhuma cobrança pelos recursos de SageMaker IA. SageMaker A IA não exclui trabalhos de ajuste de hiperparâmetros. Os trabalhos interrompidos continuam aparecendo no console de SageMaker IA. 

A saída será semelhante a: 

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

**Observação**: o comando delete leva cerca de 2 minutos para limpar os recursos da SageMaker IA. 

## O BatchTransformJob operador
<a name="batchtransformjobs-operator"></a>

Os operadores de trabalho de transformação em lote reconciliam sua especificação de trabalho de transformação em lote especificada com a SageMaker IA, iniciando-a na IA. SageMaker Você pode aprender mais sobre o SageMaker trabalho de transformação em lote da SageMaker IA na [documentação da CreateTransformJob API](https://docs.aws.amazon.com/sagemaker/latest/dg/API_CreateTransformJob.html) de IA. 

**Topics**
+ [Crie um BatchTransformJob usando um arquivo YAML](#create-a-batchtransformjob-using-a-simple-yaml-file)
+ [Crie um BatchTransformJob usando um Helm Chart](#create-a-batchtransformjob-using-a-helm-chart)
+ [Lista BatchTransformJobs](#list-batch-transform-jobs)
+ [Descreva um BatchTransformJob](#describe-a-batch-transform-job)
+ [Exibir registros de BatchTransformJobs](#view-logs-from-batch-transform-jobs)
+ [Excluir um BatchTransformJob](#delete-a-batch-transform-job)

### Crie um BatchTransformJob usando um arquivo YAML
<a name="create-a-batchtransformjob-using-a-simple-yaml-file"></a>

1. Faça download do arquivo YAML de exemplo para o trabalho de transformação de lotes usando o seguinte comando: 

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

1. Edite o arquivo `xgboost-mnist-batchtransform.yaml` para alterar os parâmetros necessários para substituí-los `inputdataconfig` pelos dados de entrada e pelos `s3OutputPath` buckets do Amazon S3 aos quais a função de execução de SageMaker IA tem acesso de gravação. 

1. Aplique o arquivo YAML utilizando o seguinte comando: 

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

### Crie um BatchTransformJob usando um Helm Chart
<a name="create-a-batchtransformjob-using-a-helm-chart"></a>

Você pode usar gráficos de Helm para executar trabalhos de transformação de lote. 

#### Obtenha o diretório do instalador de Helm
<a name="get-the-helm-installer-directory"></a>

Clone o GitHub repositório para obter a fonte usando o seguinte comando: 

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

#### Configurar o gráfico de Helm
<a name="configure-the-helm-chart"></a>

Navegue para a pasta `amazon-sagemaker-operator-for-k8s/hack/charts/batch-transform-jobs/`. 

Edite o `values.yaml` arquivo para `inputdataconfig` substituir o pelos dados de entrada e o OutputPath pelos buckets do S3 aos quais a função de execução de SageMaker IA tem acesso de gravação. 

#### Crie um BatchTransformJob
<a name="create-a-batch-transform-job"></a>

1. Use o seguinte comando para criar um trabalho de transformação de lote: 

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

   A saída será semelhante a: 

   ```
   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. Para verificar se o chart do Helm foi criado com êxito, execute o seguinte comando: 

   ```
   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
   ```

   O comando cria um recurso `BatchTransformJob` do Kubernetes. O operador inicia o trabalho de transformação real em SageMaker IA e atualiza o recurso `BatchTransformJob` Kubernetes para refletir o status do trabalho em IA. SageMaker Você incorre em cobranças pelos recursos de SageMaker IA usados durante a duração do seu trabalho. Você não incorre em nenhuma cobrança quando seu trabalho for concluído ou interrompido. 

**Observação**: a SageMaker IA não permite que você atualize um trabalho de transformação em lote em execução. Você não pode editar nenhum parâmetro e reaplicar o arquivo de configuração. Você pode alterar o nome dos metadados ou excluir o trabalho existente e crie um novo. Semelhante aos operadores de trabalho de treinamento existentes, como o `TFJob` no Kubeflow, a `update` não é compatível. 

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

Use o seguinte comando para listar todos os trabalhos criados usando o operador do Kubernetes: 

```
kubectl get batchtransformjob
```

A saída será semelhante a: 

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

Um trabalho de transformação de lote continua sendo listado após a conclusão ou falha do trabalho. Você pode remover um `hyperparametertuningjob` da lista seguindo as etapas [Excluir um BatchTransformJob](#delete-a-batch-transform-job). Os trabalhos concluídos ou interrompidos não incorrem em nenhuma cobrança pelos recursos de SageMaker IA. 

#### Valores de status da transformação em lote
<a name="batch-transform-status-values"></a>

O campo `STATUS` pode ter um dos seguintes valores: 
+ `Completed` 
+ `InProgress` 
+ `Failed` 
+ `Stopped` 
+ `Stopping` 

Esses status vêm diretamente da [documentação oficial da API](https://docs.aws.amazon.com/sagemaker/latest/dg/API_DescribeHyperParameterTuningJob.html#SageMaker-DescribeHyperParameterTuningJob-response-HyperParameterTuningJobStatus) de SageMaker IA. 

Além do status oficial de SageMaker IA, é possível `STATUS` que seja`SynchronizingK8sJobWithSageMaker`. Isso significa que o operador ainda não processou o trabalho.

### Descreva um BatchTransformJob
<a name="describe-a-batch-transform-job"></a>

Você pode obter detalhes de depuração usando o comando `describe` do `kubectl`.

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

A saída será semelhante a: 

```
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>
```

### Exibir registros de BatchTransformJobs
<a name="view-logs-from-batch-transform-jobs"></a>

Use o seguinte comando para visualizar os logs em log do trabalho de transformação de lote `xgboost-mnist`: 

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

### Excluir um BatchTransformJob
<a name="delete-a-batch-transform-job"></a>

Use o comando a seguir para interromper um trabalho de transformação em lote na SageMaker IA. 

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

A saída será semelhante a: 

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

Esse comando remove o trabalho de transformação em lote do seu cluster Kubernetes e o interrompe na IA. SageMaker Os trabalhos que foram interrompidos ou concluídos não incorrem em nenhuma cobrança pelos recursos de SageMaker IA. A exclusão leva cerca de 2 minutos para limpar os recursos da SageMaker IA. 

**Observação**: a SageMaker IA não exclui trabalhos de transformação em lote. Os trabalhos interrompidos continuam aparecendo no console de SageMaker IA. 

## O HostingDeployment operador
<a name="hosting-deployment-operator"></a>

HostingDeployment os operadores oferecem suporte à criação e exclusão de um endpoint, bem como à atualização de um endpoint existente, para inferência em tempo real. O operador de implantação de hospedagem reconcilia sua especificação de trabalho de implantação de hospedagem especificada com a SageMaker IA criando modelos, configurações de endpoints e endpoints na IA. SageMaker Você pode aprender mais sobre inferência de SageMaker IA na [documentação da CreateEndpoint API](https://docs.aws.amazon.com/sagemaker/latest/dg/API_CreateEndpoint.html) de SageMaker IA. 

**Topics**
+ [Configurar um HostingDeployment recurso](#configure-a-hostingdeployment-resource)
+ [Crie um HostingDeployment](#create-a-hostingdeployment)
+ [Lista HostingDeployments](#list-hostingdeployments)
+ [Descreva um HostingDeployment](#describe-a-hostingdeployment)
+ [Invocar o endpoint](#invoking-the-endpoint)
+ [Atualizar HostingDeployment](#update-hostingdeployment)
+ [Exclua o HostingDeployment](#delete-the-hostingdeployment)

### Configurar um HostingDeployment recurso
<a name="configure-a-hostingdeployment-resource"></a>

Faça download do arquivo YAML de exemplo para o trabalho de implantação de hospedagem usando o seguinte comando: 

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

O `xgboost-mnist-hostingdeployment.yaml` arquivo tem os seguintes componentes que podem ser editados conforme necessário: 
+ *ProductionVariants*. Uma variante de produção é um conjunto de instâncias que atendem a um único modelo. SageMaker A IA equilibra a carga entre todas as variantes de produção de acordo com os pesos definidos. 
+ *Modelos*. Um modelo são os contêineres e o ARN da função de execução necessários para servir a um modelo. Isso requer pelo menos um único contêiner. 
+ *Contêineres*. Um contêiner especifica o conjunto de dados e a imagem de veiculação. Se você estiver usando seu próprio algoritmo personalizado em vez de um algoritmo fornecido pela SageMaker IA, o código de inferência deve atender aos requisitos de SageMaker IA. Para obter mais informações, consulte [Usando seus próprios algoritmos com SageMaker IA](https://docs.aws.amazon.com/sagemaker/latest/dg/your-algorithms.html). 

### Crie um HostingDeployment
<a name="create-a-hostingdeployment"></a>

Para criar um HostingDeployment, use `kubectl` para aplicar o arquivo `hosting.yaml` com o seguinte comando: 

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

SageMaker A IA cria um endpoint com a configuração especificada. Você incorre em cobranças pelos recursos de SageMaker IA usados durante a vida útil do seu endpoint. Você não incorre em nenhuma cobrança depois que seu endpoint é excluído. 

A criação do processo leva aproximadamente 10 minutos. 

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

Para verificar se o HostingDeployment foi criado, use o seguinte comando: 

```
kubectl get hostingdeployments
```

A saída será semelhante a: 

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

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

O campo de status pode ser um dos vários valores: 
+ `SynchronizingK8sJobWithSageMaker`: o operador está se preparando para criar o endpoint. 
+ `ReconcilingEndpoint`: o operador está criando, atualizando ou excluindo recursos do endpoint. Se HostingDeployment permanecer nesse estado, use `kubectl describe` para ver o motivo no `Additional` campo. 
+ `OutOfService`: o endpoint não está disponível para receber solicitações. 
+ `Creating`: [CreateEndpoint](https://docs.aws.amazon.com/sagemaker/latest/dg/API_CreateEndpoint.html)está em execução. 
+ `Updating`: [UpdateEndpoint](https://docs.aws.amazon.com/sagemaker/latest/dg/API_UpdateEndpoint.html)ou [UpdateEndpointWeightsAndCapacities](https://docs.aws.amazon.com/sagemaker/latest/dg/API_UpdateEndpointWeightsAndCapacities.html)está em execução. 
+ `SystemUpdating`: o endpoint está passando por manutenção e não pode ser atualizado, excluído ou redimensionado até que seja concluído. Essa operação de manutenção não altera nenhum valor especificado pelo cliente, como configuração de VPC, AWS KMS criptografia, modelo, tipo de instância ou contagem de instâncias. 
+ `RollingBack`: o endpoint não consegue diminuir ou aumentar a escala verticalmente ou alterar o peso da variante e está voltando à configuração anterior. Depois que a reversão for concluída, o endpoint retornará a um status `InService`. Esse status de transição só se aplica a um endpoint que tem o escalonamento automático ativado e está passando por alterações de peso ou capacidade de variantes como parte de uma [UpdateEndpointWeightsAndCapacities](https://docs.aws.amazon.com/sagemaker/latest/dg/API_UpdateEndpointWeightsAndCapacities.html)chamada ou quando a [UpdateEndpointWeightsAndCapacities](https://docs.aws.amazon.com/sagemaker/latest/dg/API_UpdateEndpointWeightsAndCapacities.html)operação é chamada explicitamente. 
+ `InService`: o endpoint não está disponível para receber solicitações. 
+ `Deleting`: [DeleteEndpoint](https://docs.aws.amazon.com/sagemaker/latest/dg/API_DeleteEndpoint.html)está em execução. 
+ `Failed`: o endpoint não pôde ser criado, atualizado ou redimensionado. Uso [DescribeEndpoint: FailureReason](https://docs.aws.amazon.com/sagemaker/latest/dg/API_DescribeEndpoint.html#SageMaker-DescribeEndpoint-response-FailureReason) para obter informações sobre a falha. [DeleteEndpoint](https://docs.aws.amazon.com/sagemaker/latest/dg/API_DeleteEndpoint.html)é a única operação que pode ser executada em um endpoint com falha. 

### Descreva um HostingDeployment
<a name="describe-a-hostingdeployment"></a>

Você pode obter detalhes de depuração usando o comando `describe` do `kubectl`.

```
kubectl describe hostingdeployment
```

A saída será semelhante a: 

```
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>
```

O campo de status fornece mais informações usando os seguintes campos: 
+ `Additional`: informações adicionais sobre o status da implantação da hospedagem. Esse campo é opcional e só é preenchido em caso de erro. 
+ `Creation Time`: quando o endpoint foi criado na SageMaker IA. 
+ `Endpoint ARN`: O ARN do endpoint de SageMaker IA. 
+ `Endpoint Config Name`: o nome da SageMaker IA da configuração do endpoint. 
+ `Endpoint Name`: o nome da SageMaker IA do endpoint. 
+ `Endpoint Status`: o status do endpoint. 
+ `Endpoint URL`: o URL HTTPS que pode ser usado para acessar o endpoint. Para obter mais informações, consulte [Implantar um modelo em serviços de hospedagem de SageMaker IA](https://docs.aws.amazon.com/sagemaker/latest/dg/deploy-model.html). 
+ `FailureReason`: se um comando de criação, atualização ou exclusão falhar, a causa será mostrada aqui. 
+ `Last Check Time`: a última vez que o operador verificou o status do endpoint. 
+ `Last Modified Time`: a última vez que o endpoint foi modificado. 
+ `Model Names`: um par de valores-chave de nomes de HostingDeployment modelos com nomes de modelos de SageMaker IA. 

### Invocar o endpoint
<a name="invoking-the-endpoint"></a>

Quando o status do endpoint for`InService`, você poderá invocar o endpoint de duas maneiras: usando a AWS CLI, que faz a autenticação e a assinatura da solicitação de URL, ou usando um cliente HTTP como cURL. Se você usa seu próprio cliente, precisa fazer a assinatura e a autenticação de URL AWS v4 por conta própria. 

Para invocar o endpoint usando a AWS CLI, execute o comando a seguir. Certifique-se de substituir o nome da região e do endpoint pelo nome da região e do endpoint de SageMaker IA do seu endpoint. Essas informações podem ser obtidas na saída de `kubectl describe`. 

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

Por exemplo, se sua região for `us-east-2` e o nome de configuração do endpoint for`host-xgboost-f56b6b280d7511ea824b129926example`, o seguinte comando invocaria o endpoint: 

```
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
```

Aqui `4.95847082138` está a predição de modelo para os dados simulados. 

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

1. Quando a HostingDeployment tem um status de`InService`, ele pode ser atualizado. Pode levar cerca de 10 minutos HostingDeployment para entrar em serviço. Para verificar se o status é `InService`, use o seguinte comando: 

   ```
   kubectl get hostingdeployments
   ```

1. Eles HostingDeployment podem ser atualizados antes que o status seja`InService`. O operador espera até que o endpoint de SageMaker IA esteja pronto `InService` antes de aplicar a atualização. 

   Para aplicar uma atualização, modifique o `hosting.yaml` arquivo. Por exemplo, altere o campo `initialInstanceCount` de 1 para 2 da seguinte forma: 

   ```
   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. Salve o arquivo e use `kubectl` para aplicar sua atualização da seguinte maneira: Você deve ver o status mudar de `InService` para `ReconcilingEndpoint`, então `Updating`. 

   ```
   $ 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 A IA implanta um novo conjunto de instâncias com seus modelos, troca o tráfego para usar as novas instâncias e drena as instâncias antigas. Assim que esse processo começa, o status se torna `Updating`. Depois que a atualização for concluída, seu endpoint se tornará `InService`. Este processo leva aproximadamente 10 minutos. 

### Exclua o HostingDeployment
<a name="delete-the-hostingdeployment"></a>

1. Use `kubectl` para excluir um HostingDeployment com o seguinte comando: 

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

   A saída será semelhante a: 

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

1. Para verificar se a implantação da hospedagem foi excluída, use o seguinte comando: 

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

Os endpoints que foram excluídos não incorrem em nenhuma cobrança pelos recursos de SageMaker IA. 

## O ProcessingJob operador
<a name="kubernetes-processing-job-operator"></a>

ProcessingJob operadores são usados para iniciar trabalhos de SageMaker processamento da Amazon. Para obter mais informações sobre SageMaker processamento de trabalhos, consulte [CreateProcessingJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateProcessingJob.html). 

**Topics**
+ [Crie um ProcessingJob usando um arquivo YAML](#kubernetes-processing-job-yaml)
+ [Lista ProcessingJobs](#kubernetes-processing-job-list)
+ [Descreva um ProcessingJob](#kubernetes-processing-job-description)
+ [Excluir um ProcessingJob](#kubernetes-processing-job-delete)

### Crie um ProcessingJob usando um arquivo YAML
<a name="kubernetes-processing-job-yaml"></a>

Siga estas etapas para criar um trabalho de SageMaker processamento da Amazon usando um arquivo YAML:

1. Baixe o script de `kmeans_preprocessing.py` pré-processamento.

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

1. Em um de seus buckets do Amazon Simple Storage Service (Amazon S3), crie `mnist_kmeans_example/processing_code` uma pasta e carregue o script na pasta.

1. Faça download do arquivo `kmeans-mnist-processingjob.yaml`.

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

1. Edite o arquivo YAML para especificar sua `sagemaker-execution-role` e substituir todas as instâncias do pelo seu `amzn-s3-demo-bucket` bucket do S3.

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

   Eles `sagemaker-execution-role` devem ter permissões para que a SageMaker IA possa acessar seu bucket do S3, a Amazon CloudWatch e outros serviços em seu nome. Para obter mais informações sobre como criar uma função de execução, consulte [Funções de SageMaker IA](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-roles.html#sagemaker-roles-createtrainingjob-perms).

1. Aplique o arquivo YAML utilizando um dos seguintes comandos:

   Para instalação com escopo de cluster:

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

   Para instalação com escopo de namespace:

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

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

Use um dos comandos a seguir para listar todos os trabalhos criados usando o ProcessingJob operador. `SAGEMAKER-JOB-NAME `vem da `metadata` seção do arquivo YAML.

Para instalação com escopo de cluster:

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

Para instalação com escopo de namespace:

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

O resultado deve ser semelhante ao seguinte:

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

A saída lista todos os trabalhos, independentemente de seu status. Para remover um trabalho da lista, consulte [Excluir um trabalho de processamento](https://docs.aws.amazon.com/sagemaker/latest/dg/kubernetes-processing-job-operator.html#kubernetes-processing-job-delete).

**ProcessingJob Status**
+ `SynchronizingK8sJobWithSageMaker`: o trabalho é enviado primeiro ao cluster. O operador recebeu a solicitação e está se preparando para criar o trabalho de processamento.
+ `Reconciling`: o operador está inicializando ou se recuperando de erros transitórios, junto com outros. Se o trabalho de processamento permanecer nesse estado, use o comando `describe` do `kubectl` para ver o motivo no campo `Additional`.
+ `InProgress | Completed | Failed | Stopping | Stopped`— Status do trabalho SageMaker de processamento. Para obter mais informações, consulte [DescribeProcessingJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeProcessingJob.html#sagemaker-DescribeProcessingJob-response-ProcessingJobStatus).
+ `Error`: o operador não pode se recuperar por meio da reconciliação.

Trabalhos concluídos, interrompidos ou falhados não incorrem em cobranças adicionais pelos recursos de SageMaker IA.

### Descreva um ProcessingJob
<a name="kubernetes-processing-job-description"></a>

Use um dos comandos a seguir para obter mais detalhes sobre um trabalho de processamento. Esses comandos são normalmente usados para depurar um problema ou verificar os parâmetros de um trabalho de processamento.

Para instalação com escopo de cluster:

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

Para instalação com escopo de namespace:

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

A saída do seu trabalho de processamento deve ser semelhante à seguinte:

```
$ 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>
```

### Excluir um ProcessingJob
<a name="kubernetes-processing-job-delete"></a>

Quando você exclui uma tarefa de processamento, a tarefa SageMaker de processamento é removida do Kubernetes, mas a tarefa não é excluída da IA. SageMaker Se o status do trabalho na SageMaker IA for, `InProgress` o trabalho será interrompido. Os trabalhos de processamento que são interrompidos não incorrem em nenhuma cobrança pelos recursos de SageMaker IA. Use um dos comandos a seguir para excluir um trabalho de processamento. 

Para instalação com escopo de cluster:

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

Para instalação com escopo de namespace:

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

A saída do seu trabalho de processamento deve ser semelhante à seguinte:

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



**nota**  
SageMaker A IA não exclui a tarefa de processamento. Os trabalhos interrompidos continuam aparecendo no console de SageMaker IA. O `delete` comando leva alguns minutos para limpar os recursos da SageMaker IA.

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

O operador HostingAutoscalingPolicy (HAP) usa uma lista de recursos IDs como entrada e aplica a mesma política a cada um deles. Cada ID de recurso é uma combinação de um nome de endpoint e um nome de variante. O operador HAP executa duas etapas: registra o recurso IDs e depois aplica a política de escalabilidade a cada ID de recurso. `Delete`desfaz as duas ações. [Você pode aplicar o HAP a um endpoint de SageMaker IA existente ou criar um novo endpoint de SageMaker IA usando o operador. HostingDeployment ](https://docs.aws.amazon.com/sagemaker/latest/dg/hosting-deployment-operator.html#create-a-hostingdeployment) Você pode ler mais sobre o escalonamento automático de SageMaker IA na documentação da política de [escalonamento automático de aplicativos](https://docs.aws.amazon.com/sagemaker/latest/dg/endpoint-auto-scaling.html).

**nota**  
Em seus comandos `kubectl`, você pode usar a forma abreviada, `hap`, no lugar de `hostingautoscalingpolicy`.

**Topics**
+ [Crie um HostingAutoscalingPolicy usando um arquivo YAML](#kubernetes-hap-job-yaml)
+ [Lista HostingAutoscalingPolicies](#kubernetes-hap-list)
+ [Descreva um HostingAutoscalingPolicy](#kubernetes-hap-describe)
+ [Atualizar um HostingAutoscalingPolicy](#kubernetes-hap-update)
+ [Excluir um HostingAutoscalingPolicy](#kubernetes-hap-delete)
+ [Atualizar ou excluir um endpoint com um HostingAutoscalingPolicy](#kubernetes-hap-update-delete-endpoint)

### Crie um HostingAutoscalingPolicy usando um arquivo YAML
<a name="kubernetes-hap-job-yaml"></a>

Use um arquivo YAML para criar um HostingAutoscalingPolicy (HAP) que aplique uma métrica predefinida ou personalizada a um ou vários SageMaker endpoints de IA.

A Amazon SageMaker AI exige valores específicos para aplicar o escalonamento automático à sua variante. Se esses valores não forem especificados na especificação YAML, o operador HAP aplicará os seguintes valores padrão:

```
# 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"
```

Use os exemplos a seguir para criar um HAP que aplique uma métrica predefinida ou personalizada a um ou vários endpoints.

#### Exemplo 1: aplicar uma métrica predefinida a uma única variante de endpoint
<a name="kubernetes-hap-predefined-metric"></a>

1. Faça download do arquivo YAML de exemplo para uma métrica predefinida usando o seguinte comando:

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

1. Edite o arquivo YAML para especificar seu `endpointName`, `variantName` e `Region`.

1. Use um dos comandos a seguir para aplicar uma métrica predefinida a uma única ID de recurso (combinação de nome do endpoint e nome da variante).

   Para instalação com escopo de cluster:

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

   Para instalação com escopo de namespace:

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

#### Exemplo 2: aplicar uma métrica personalizada a uma única variante de endpoint
<a name="kubernetes-hap-custom-metric"></a>

1. Faça download do arquivo YAML de exemplo para uma métrica personalizada usando o seguinte comando:

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

1. Edite o arquivo YAML para especificar seu `endpointName`, `variantName` e `Region`.

1. Use um dos comandos a seguir para aplicar uma métrica personalizada a um único ID de recurso (combinação de nome do endpoint e nome da variante) no lugar do `SageMakerVariantInvocationsPerInstance` recomendado.
**nota**  
A Amazon SageMaker AI não verifica a validade da sua especificação YAML.

   Para instalação com escopo de cluster:

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

   Para instalação com escopo de namespace:

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

#### Exemplo 3: aplicar uma política de escalabilidade a vários endpoints e variantes
<a name="kubernetes-hap-scaling-policy"></a>

Você pode usar o operador HAP para aplicar a mesma política de escalabilidade a vários recursos. IDs Uma `scaling_policy` solicitação separada é criada para cada ID de recurso (combinação de nome do endpoint e nome da variante).

1. Faça download do arquivo YAML de exemplo para uma métrica predefinida usando o seguinte comando:

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

1. Edite o arquivo YAML para especificar seus `Region`, vários `endpointName` e valores `variantName`.

1. Use um dos comandos a seguir para aplicar uma métrica predefinida a vários recursos IDs (combinações de nome de endpoint e nome de variante).

   Para instalação com escopo de cluster:

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

   Para instalação com escopo de namespace:

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

#### Considerações HostingAutoscalingPolicies para vários endpoints e variantes
<a name="kubernetes-hap-scaling-considerations"></a>

As considerações a seguir se aplicam quando você usa vários recursos IDs:
+ Se você aplicar uma única política em vários recursos IDs, um PolicyArn será criado por ID de recurso. Cinco endpoints têm cinco políticasARNs. Quando você executa o comando `describe` na política, as respostas aparecem como um trabalho e incluem um único status de trabalho.
+ Se você aplicar uma métrica personalizada a vários recursos IDs, a mesma dimensão ou valor será usado para todos os valores de ID do recurso (variante). Por exemplo, se você aplicar uma métrica de cliente para as instâncias 1 a 5 e a dimensão da variante do endpoint for mapeada para a variante 1, quando a variante 1 exceder as métricas, todos os endpoints terão a escala aumentada ou reduzida verticalmente.
+ O operador HAP suporta a atualização da lista de recursos IDs. Se você modificar, adicionar ou excluir recursos da especificação, IDs a política de escalonamento automático será removida da lista anterior de variantes e aplicada às combinações de IDs de recursos recém-especificadas. Use o [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)comando para listar o recurso IDs ao qual a política está atualmente aplicada.

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

Use um dos comandos a seguir para listar tudo HostingAutoscalingPolicies (HAPs) criado usando o operador HAP.

Para instalação com escopo de cluster:

```
kubectl get hap
```

Para instalação com escopo de namespace:

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

O resultado deve ser semelhante ao seguinte:

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

Use o comando a seguir para verificar o status do seu HostingAutoscalingPolicy (HAP).

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

Ele tem um dos seguintes valores:
+ `Reconciling`: certos tipos de erros mostram o status como `Reconciling` em vez de `Error`. Alguns exemplos são erros do lado do servidor e endpoints no estado `Creating` ou `Updating`. Verifique o campo `Additional` no status ou nos logs do operador para obter mais detalhes.
+ `Created`
+ `Error`

**Para visualizar o endpoint de ajuste de escala automático ao qual você aplicou a política**

1. Abra o console do Amazon SageMaker AI em [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/).

1. No painel do lado esquerdo, expanda **Inferência**.

1. Selecione **Endpoints**.

1. Selecione o nome do endpoint de interesse.

1. Role até a seção **Definições de runtime do endpoint**.

### Descreva um HostingAutoscalingPolicy
<a name="kubernetes-hap-describe"></a>

Use o comando a seguir para obter mais detalhes sobre um HostingAutoscalingPolicy (HAP). Esses comandos são normalmente usados para depurar um problema ou verificar o recurso IDs (combinações de nome de endpoint e nome de variante) de um HAP.

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

### Atualizar um HostingAutoscalingPolicy
<a name="kubernetes-hap-update"></a>

O operador HostingAutoscalingPolicy (HAP) oferece suporte a atualizações. Você pode editar sua especificação YAML para alterar os valores e depois reaplicar a política. O operador do HAP exclui a política existente e aplica a nova política.

### Excluir um HostingAutoscalingPolicy
<a name="kubernetes-hap-delete"></a>

Use um dos comandos a seguir para excluir uma política HostingAutoscalingPolicy (HAP).

Para instalação com escopo de cluster:

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

Para instalação com escopo de namespace:

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

Esse comando exclui a política de escalabilidade e cancela o registro do alvo de escalabilidade do Kubernetes. Este comando retorna a seguinte saída:

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

### Atualizar ou excluir um endpoint com um HostingAutoscalingPolicy
<a name="kubernetes-hap-update-delete-endpoint"></a>

Para atualizar um endpoint que tenha um HostingAutoscalingPolicy (HAP), use o `kubectl` `delete` comando para remover o HAP, atualizar o endpoint e reaplicar o HAP.

Para excluir um endpoint que tenha um HAP, use o comando `kubectl` `delete` para remover o HAP antes de excluir o endpoint.