

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

# Para enviar um chart do Helm por push para um repositório privado do Amazon ECR
<a name="push-oci-artifact"></a>

Você pode enviar por push artefatos da Open Container Initiative (OCI) para um repositório do Amazon ECR. Para ver um exemplo dessa funcionalidade, use as etapas a seguir para enviar por push um chart do Helm para o Amazon ECR.

Para obter mais informações sobre como usar os charts do Helm hospedados no Amazon ECR com o Amazon EKS, consulte [Instalar um chart do Helm em um cluster do Amazon EKS](using-helm-charts-eks.md).

**Para enviar um chart do Helm para um repositório do Amazon ECR**

1. Use a versão mais recente do cliente do Helm. Estas etapas foram escritas usando a versão `3.18.6` do Helm. Para compatibilidade com as versões do Kubernetes compatíveis com o Amazon EKS, use a versão 3.9 ou posterior do Helm. Para obter mais informações, consulte [Instalação do Helm](https://helm.sh/docs/intro/install/).

1. Use as etapas a seguir para criar um chart do Helm. Para obter mais informações, consulte o [Documentos do Helm - Introdução](https://helm.sh/docs/chart_template_guide/getting_started/).

   1. Crie um chart do Helm denominado `helm-test-chart` e limpe o conteúdo da caixa do diretório `templates`.

      ```
      helm create helm-test-chart
      rm -rf ./helm-test-chart/templates/*
      ```

   1. Criae um `ConfigMap` na pasta `templates`.

      ```
      cd helm-test-chart/templates
      cat <<EOF > configmap.yaml
      apiVersion: v1
      kind: ConfigMap
      metadata:
        name: helm-test-chart-configmap
      data:
        myvalue: "Hello World"
      EOF
      ```

1. Embalar o gráfico. A saída conterá o nome do arquivo do chart empacotado que você usa ao enviar o chart do Helm.

   ```
   cd ../..
   helm package helm-test-chart
   ```

   Output

   ```
   Successfully packaged chart and saved it to: /Users/username/helm-test-chart-0.1.0.tgz
   ```

1. Crie um repositório para armazenar o chart do Helm. O nome do repositório deve corresponder ao nome utilizado ao criar o chart do Helm na etapa 2. Para obter mais informações, consulte [Criar um repositório privado do Amazon ECR para armazenar imagens](repository-create.md).

   ```
   aws ecr create-repository \
        --repository-name helm-test-chart \
        --region us-west-2
   ```

1. Autentique o cliente do Helm para o registro do Amazon ECR para o qual você pretende enviar o chart do Helm. Os tokens de autenticação devem ser obtidos para cada registro usado e são válidos por 12 horas. Para obter mais informações, consulte [Autenticação de registro privado no Amazon ECR](registry_auth.md).

   ```
   aws ecr get-login-password \
        --region us-west-2 | helm registry login \
        --username AWS \
        --password-stdin aws_account_id.dkr.ecr.region.amazonaws.com
   ```

1. Envie o chart do Helm usando o comando **helm push**. A saída deve incluir o URI do repositório do Amazon ECR e o resumo do SHA.

   ```
   helm push helm-test-chart-0.1.0.tgz oci://aws_account_id.dkr.ecr.region.amazonaws.com/
   ```

1. Descreva seu chart do Helm.

   ```
   aws ecr describe-images \
        --repository-name helm-test-chart \
        --region us-west-2
   ```

   Na saída, verifique se o parâmetro `artifactMediaType` indica o tipo de artefato apropriado.

   ```
   {
       "imageDetails": [
           {
               "registryId": "aws_account_id",
               "repositoryName": "helm-test-chart",
               "imageDigest": "sha256:dd8aebdda7df991a0ffe0b3d6c0cf315fd582cd26f9755a347a52adEXAMPLE",
               "imageTags": [
                   "0.1.0"
               ],
               "imageSizeInBytes": 1620,
               "imagePushedAt": "2021-09-23T11:39:30-05:00",
               "imageManifestMediaType": "application/vnd.oci.image.manifest.v1+json",
               "artifactMediaType": "application/vnd.cncf.helm.config.v1+json"
           }
       ]
   }
   ```

1. (Opcional) Para etapas adicionais, instale o `ConfigMap` do Helm e comece a usar o Amazon EKS. Para obter mais informações, consulte [Instalar um chart do Helm em um cluster do Amazon EKS](using-helm-charts-eks.md).