

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Trasferimento di un grafico Helm a un repository privato Amazon ECR
<a name="push-oci-artifact"></a>

Puoi inviare gli artefatti dell'Open Container Initiative (OCI) a un repository Amazon ECR. Per vedere un esempio di questa funzionalità, utilizza i seguenti passaggi per inviare un grafico Helm ad Amazon ECR.

Per informazioni sull'utilizzo dei grafici Helm ospitati da Amazon ECR con Amazon EKS, consulta. [Installazione di un grafico Helm su un cluster Amazon EKS](using-helm-charts-eks.md)

**Per inviare un grafico Helm a un repository Amazon ECR**

1. Installa la versione più recente del client Helm. Questi passaggi sono stati scritti utilizzando la versione `3.18.6` di Helm. Per la compatibilità con le versioni di Kubernetes supportate da Amazon EKS, usa Helm versione 3.9 o successiva. Per ulteriori informazioni, consulta l'argomento relativo all'[installazione di Helm](https://helm.sh/docs/intro/install/).

1. Utilizza i seguenti passaggi per creare un grafico Helm di prova. Per ulteriori informazioni, consulta [Documenti Helm - Nozioni di base](https://helm.sh/docs/chart_template_guide/getting_started/).

   1. Creare un grafico Helm denominato `helm-test-chart` e cancellare il contenuto della directory `templates`.

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

   1. Crea un file nella cartella. `ConfigMap` `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. Creazione pacchetto del grafico. L'output conterrà il nome del file del grafico in pacchetto utilizzato quando si invia il grafico 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. Creare un repository per archiviare il grafico Helm. Il nome del repository deve corrispondere al nome utilizzato nel grafico Helm al passaggio 2. Per ulteriori informazioni, consulta [Creazione di un repository privato Amazon ECR per archiviare immagini](repository-create.md).

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

1. Autentica il tuo client Helm nel registro Amazon ECR al quale desideri inviare il grafico Helm. Devi ottenere i token di autenticazione per ciascun registro utilizzato. I token hanno una validità di 12 ore. Per ulteriori informazioni, consulta [Autenticazione del registro privato in 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. Inviare il grafico Helm utilizzando il comando **helm push**. L'output deve includere l'URI del repository Amazon ECR e il digest SHA.

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

1. Descrivi il tuo grafico Helm.

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

   Nell'output, verificare che il parametri `artifactMediaType` indichi il tipo di artefatto corretto.

   ```
   {
       "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. (Facoltativo) Per ulteriori passaggi, installa Helm `ConfigMap` e inizia a usare Amazon EKS. Per ulteriori informazioni, consulta [Installazione di un grafico Helm su un cluster Amazon EKS](using-helm-charts-eks.md).