Gestire i grafici Helm

Questa pagina spiega come gestire i grafici Helm 3 salvati come immagini dei contenitori OCI, tra cui push (caricamento), pull (download), elenco, tagging ed eliminazione dei grafici.

Prima di iniziare

  1. Se il repository di destinazione non esiste, crea un nuovo repository. Scegli Docker come formato del repository.
  2. Verifica di disporre delle autorizzazioni necessarie per il repository.
  3. (Facoltativo) Configura i valori predefiniti per i comandi Google Cloud CLI.
  4. Installa Helm 3.8.0 o versioni successive. Nelle versioni precedenti di Helm, il supporto dei grafici in formato OCI è una funzionalità sperimentale.

    Esegui helm version per verificare la versione.

  5. Configura Helm per eseguire l'autenticazione con Artifact Registry.

Creazione o acquisizione di un grafico

Questa documentazione si concentra sulla gestione delle immagini dei grafici e presuppone che tu abbia grafici esistenti o che tu abbia dimestichezza con la loro creazione. Per saperne di più sulla creazione di grafici o sull'ottenimento di grafici disponibili pubblicamente in Artifact Hub, consulta le seguenti informazioni nella documentazione di Helm.

Pacchettizzazione di un grafico

Prima di poter eseguire il push di un grafico in Artifact Registry, devi impacchettarlo come archivio dei grafici.

  1. Passa alla directory che contiene il grafico.

  2. Impacchetta il grafico.

    helm package CHART-PATH
    

    Sostituisci CHART-PATH con il percorso della directory che contiene il file Chart.yaml.

Helm utilizza il nome e la versione del grafico per il nome del file dell'archivio. Ad esempio, se hai un grafico con il nome my-chart e il numero di versione 0.1.0, il nome del pacchetto è my-chart-0.1.0.tgz.

Ora puoi eseguire il push del grafico in Artifact Registry.

Push di un grafico

Dopo aver pacchettizzato il grafico, puoi eseguirlo in Artifact Registry.

Per eseguire il push del grafico, esegui il seguente comando:

helm push my-chart-0.1.0.tgz oci://LOCATION-docker.pkg.dev/PROJECT/REPOSITORY

Sostituisci i seguenti valori:

Helm utilizza le informazioni di Chart.yaml per il nome e il tag dell'immagine container OCI. Considera il seguente comando di esempio:

helm push my-chart-0.1.0.tgz oci://us-west1-docker.pkg.dev/my-project/my-repo

Helm carica l'archivio del grafico come immagine my-chart con il tag 0.1.0.

Per verificare che l'operazione di push sia andata a buon fine, elenca le immagini nel repository.

gcloud artifacts docker images list LOCATION-docker.pkg.dev/PROJECT/REPOSITORY

Estrazione dei grafici

Per estrarre un grafico:

  1. Esegui il seguente comando per estrarre l'archivio dei grafici:

    helm pull oci://LOCATION-docker.pkg.dev/PROJECT/REPOSITORY/IMAGE \
        --version VERSION
    

    Se vuoi estrarre l'archivio dei grafici ed estrarne i contenuti, aggiungi il flag --untar.

    helm pull oci://LOCATION-docker.pkg.dev/PROJECT/REPOSITORY/IMAGE \
        --version VERSION \
        --untar
    

    Sostituisci i seguenti valori:

  • LOCATION è la posizione regionale o multiregionale del repository.
  • PROJECT è l'ID progetto del tuo Google Cloud . Se l'ID progetto contiene due punti (:), consulta Progetti basati sul dominio.
  • REPOSITORY è il nome del repository in cui è archiviata l'immagine.
  • IMAGE è il nome dell'immagine nel repository.
  • VERSION è la versione semantica del grafico. Questo flag è obbligatorio. Helm non supporta il recupero di un grafico utilizzando un tag.

Installazione di un grafico

Installa un grafico archiviato in Artifact Registry con il comando helm install.

helm install RELEASE \
    oci://LOCATION-docker.pkg.dev/PROJECT/REPOSITORY/IMAGE \
    --version VERSION

Il seguente esempio installa una release denominata release1 utilizzando la versione 0.1.0 del grafico us-west1-docker.pkg.dev/nyap-test/helm-repo/my-chart:

helm install release1 oci://us-west1-docker.pkg.dev/nyap-test/helm-repo/my-chart --version 0.1.0

Grafici delle schede

Puoi elencare i grafici utilizzando Google Cloud console o la riga di comando. Se archiviate immagini container e grafici nello stesso repository Docker, nell'elenco vengono visualizzati entrambi i tipi di elementi.

Console

Per visualizzare le immagini in un repository:

  1. Apri la pagina Repository nella console Google Cloud .

    Apri la pagina Repository

  2. Fai clic sul repository con l'immagine del contenitore.

  3. Fai clic su un'immagine per visualizzarne le versioni.

gcloud

Per elencare tutte le immagini nel progetto, nel repository e nella località predefiniti quando i valori predefiniti sono configurati:

gcloud artifacts docker images list

Per elencare le immagini in un repository in una posizione specifica, esegui il comando:

gcloud artifacts docker images list LOCATION-docker.pkg.dev/PROJECT/REPOSITORY

Per elencare tutti i digest e i tag di un'immagine specifica, esegui il comando:

gcloud artifacts docker images list LOCATION-docker.pkg.dev/PROJECT/REPOSITORY/IMAGE \
--include-tags

Sostituisci i seguenti valori:

  • LOCATION è la posizione regionale o multiregionale del repository.
  • PROJECT è l'ID progetto del tuo Google Cloud . Se l'ID progetto contiene due punti (:), consulta Progetti basati sul dominio.
  • REPOSITORY è il nome del repository in cui è archiviata l'immagine.
  • IMAGE è il nome dell'immagine nel repository.
  • --include-tags mostra tutte le versioni delle immagini, inclusi i digest e i tag. Se questo flag viene omesso, l'elenco restituito include solo le immagini dei contenitori di primo livello.

Ad esempio, prendiamo in considerazione un'immagine con le seguenti caratteristiche:

  • Posizione del repository: us-west1
  • Nome del repository: my-repo
  • ID progetto: my-project
  • Nome dell'immagine: my-image

Il nome completo del repository è:

us-west1-docker.pkg.dev/my-project/my-repo

Il nome completo dell'immagine è:

us-west1-docker.pkg.dev/my-project/my-repo/my-image

Per informazioni dettagliate sul formato del nome dell'immagine, consulta Nomi di repository e immagini.

File della scheda

Puoi elencare i file in un repository, in tutte le versioni di un'immagine container specificata o in una versione specifica di un'immagine.

Per tutti i comandi seguenti, puoi impostare un numero massimo di file da restituire aggiungendo il flag --limit al comando.

Per elencare tutti i file nel progetto, nel repository e nella località predefiniti quando i valori predefiniti sono configurati:

gcloud artifacts files list

Per elencare i file in un progetto, un repository e una posizione specificati, esegui il comando:

gcloud artifacts files list \
    --project=PROJECT \
    --repository=REPOSITORY \
    --location=LOCATION

Per elencare i file di tutte le versioni di un'immagine contenitore specifica:

gcloud artifacts files list \
    --project=PROJECT \
    --repository=REPOSITORY \
    --location=LOCATION \
    --package=PACKAGE

Per elencare i file di una versione specifica dell'immagine del contenitore:

gcloud artifacts files list \
    --project=PROJECT \
    --repository=REPOSITORY \
    --location=LOCATION \
    --package=PACKAGE \
    --version=VERSION
Per elencare i file per un tag specifico:

gcloud artifacts files list \
    --project=PROJECT \
    --repository=REPOSITORY \
    --location=LOCATION \
    --package=PACKAGE \
    --tag=TAG

Sostituisci i seguenti valori:

  • LOCATION: la località regionale o multiregionale del repository.
  • PROJECT: il tuo ID progetto Google Cloud . Se l'ID progetto contiene due punti (:), consulta Progetti basati sul dominio.
  • REPOSITORY: il nome del repository in cui è memorizzata l'immagine.
  • PACKAGE: il nome dell'immagine.
  • VERSION: il digest dell'immagine, una stringa che inizia con sha256:.
  • TAG: il tag associato all'immagine del contenitore.

Eliminazione delle immagini

In un repository Artifact Registry, puoi eliminare un'intera immagine container o una versione specifica dell'immagine associata a un tag o a un digest. Una volta eliminata un'immagine, non puoi annullare l'azione.

Per eliminare un'immagine archiviata in Artifact Registry:

Console

  1. Apri la pagina Repository nella console Google Cloud .

    Apri la pagina Repository

  2. Fai clic sul nome dell'immagine per visualizzarne le versioni.

  3. Seleziona le versioni da eliminare.

  4. Fai clic su ELIMINA.

  5. Nella finestra di dialogo di conferma, fai clic su ELIMINA.

gcloud

Per eliminare un'immagine e tutti i relativi tag, esegui il comando:

gcloud artifacts docker images delete LOCATION-docker.pkg.dev/PROJECT/REPOSITORY/IMAGE --delete-tags

Per eliminare una versione dell'immagine specifica, utilizza uno dei seguenti comandi.

gcloud artifacts docker images delete LOCATION-docker.pkg.dev/PROJECT/REPOSITORY/IMAGE:TAG [--delete-tags]

o

gcloud artifacts docker images delete LOCATION-docker.pkg.dev/PROJECT/REPOSITORY/IMAGE@IMAGE-DIGEST [--delete-tags]

Dove

  • LOCATION è la posizione regionale o multiregionale del repository.
  • PROJECT è l'ID progetto del tuo Google Cloud . Se l'ID progetto contiene due punti (:), consulta Progetti basati sul dominio.
  • REPOSITORY è il nome del repository in cui è archiviata l'immagine.
  • IMAGE è il nome dell'immagine nel repository.
  • TAG è il tag della versione che vuoi eliminare. Se alla stessa versione dell'immagine sono associati più tag, devi includere --delete-tags per eliminare la versione dell'immagine senza rimuovere prima i tag.
  • IMAGE-DIGEST è il valore hash SHA256 della versione che vuoi eliminare. Se al digest dell'immagine è associato un tag, devi includere --delete-tags per eliminare la versione dell'immagine senza rimuovere prima il tag.
  • --delete-tags rimuove tutti i tag applicati alla versione dell'immagine. Questo flag ti consente di forzare l'eliminazione di una versione dell'immagine quando:
    • Hai specificato un tag, ma esistono altri tag associati alla versione dell'immagine.
    • Hai specificato un digest immagine con almeno un tag.

Passaggi successivi