L'archiviazione dei grafici Helm 3 come immagini container OCI ti consente di gestirli allo stesso modo delle immagini Docker in Artifact Registry. Puoi caricare (push), scaricare (pull), elencare, taggare ed eliminare i grafici per gestirne il ciclo di vita nei tuoi repository.
Prima di iniziare
- Se il repository di destinazione non esiste, crea un nuovo repository. Scegli Docker come formato del repository.
- Verifica di disporre delle autorizzazioni necessarie per il repository.
- (Facoltativo) Configura i valori predefiniti per i comandi di Google Cloud CLI.
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 versionper verificare la versione.Configura Helm per 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 già dei grafici o che tu sappia come crearli. Per scoprire di più sulla creazione di grafici o sull'ottenimento di grafici disponibili pubblicamente in Artifact Hub, consulta le seguenti informazioni nella documentazione di Helm.
- Utilizzo di Helm descrive come ottenere i grafici da Artifact Hub pubblico e come personalizzare un grafico prima di installarlo.
- Grafici descrive i grafici e la loro creazione.
- La guida alle best practice per i grafici descrive le convenzioni e le best practice.
Pacchettizzazione di un grafico
Prima di poter eseguire il push di un grafico in Artifact Registry, devi pacchettizzarlo come archivio di grafici.
Passa alla directory che contiene il grafico.
Crea il pacchetto del grafico.
helm package CHART-PATHSostituisci 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 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 eseguirne il push in Artifact Registry.
Per eseguire il push del grafico, esegui questo comando:
helm push my-chart-0.1.0.tgz oci://LOCATION-docker.pkg.dev/PROJECT/REPOSITORY
Sostituisci i seguenti valori:
- LOCATION è la località regionale o multiregionale del repository.
- PROJECT è il tuo Google Cloud ID progetto. Se l'ID progetto contiene due punti (
:), consulta Progetti basati sul dominio. - REPOSITORY è il nome del repository.
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
Pull dei grafici
Per eseguire il pull di un grafico:
Esegui questo comando per eseguire il pull dell'archivio del grafico:
helm pull oci://LOCATION-docker.pkg.dev/PROJECT/REPOSITORY/IMAGE \ --version VERSIONSe vuoi eseguire il pull dell'archivio del grafico ed estrarne i contenuti, aggiungi il flag
--untar.helm pull oci://LOCATION-docker.pkg.dev/PROJECT/REPOSITORY/IMAGE \ --version VERSION \ --untarSostituisci i seguenti valori:
- LOCATION è la località regionale o multiregionale del repository.
- PROJECT è il tuo Google Cloud ID progetto.
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 pull 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
L'esempio seguente 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 a elenco
Puoi elencare i grafici utilizzando Google Cloud console o la riga di comando. Se archivi immagini container e grafici nello stesso repository Docker, entrambi i tipi di artefatti vengono visualizzati nell'elenco.
Console
Per visualizzare le immagini in un repository:
Apri la pagina Repository nella console Google Cloud .
Fai clic sul repository con l'immagine container.
Fai clic su un'immagine per visualizzarne le versioni.
gcloud
Per elencare tutte le immagini nel progetto, nel repository e nella località predefiniti quando sono configurati i valori predefiniti:
gcloud artifacts docker images list
Per elencare le immagini in un repository in una località 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 questo comando:
gcloud artifacts docker images list LOCATION-docker.pkg.dev/PROJECT/REPOSITORY/IMAGE \
--include-tags
Sostituisci i seguenti valori:
- LOCATION è la località regionale o multiregionale del repository.
- PROJECT è il tuo Google Cloud ID progetto. 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-tagsmostra tutte le versioni delle immagini, inclusi digest e tag. Se questo flag viene omesso, l'elenco restituito include solo le immagini container di primo livello.
Ad esempio, considera un'immagine con le seguenti caratteristiche:
- Località del repository:
us-west1 - Nome repository:
my-repo - ID progetto:
my-project - Nome 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 dei repository e delle immagini.
Elenco dei file in corso…
Puoi elencare i file in un repository, i file in tutte le versioni di un'immagine container specificata o i file 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 sono configurati i valori predefiniti:
gcloud artifacts files list
Per elencare i file in un progetto, un repository e una località specificati, esegui questo comando:
gcloud artifacts files list \
--project=PROJECT \
--repository=REPOSITORY \
--location=LOCATION
Per elencare i file di tutte le versioni di un'immagine container specifica:
gcloud artifacts files list \
--project=PROJECT \
--repository=REPOSITORY \
--location=LOCATION \
--package=PACKAGE
Per elencare i file di una versione specifica dell'immagine container:
gcloud artifacts files list \
--project=PROJECT \
--repository=REPOSITORY \
--location=LOCATION \
--package=PACKAGE \
--version=VERSION
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 Google Cloud ID progetto. Se l'ID progetto contiene due punti (:), consulta Progetti basati sul dominio.REPOSITORY: il nome del repository in cui è archiviata l'immagine.PACKAGE: il nome dell'immagine.VERSION: il digest dell'immagine, una stringa che inizia consha256:.TAG: il tag associato all'immagine container.
Eliminazione delle immagini
In un repository Artifact Registry, puoi eliminare un'intera immagine container o una versione immagine specifica 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
Apri la pagina Repository nella console Google Cloud .
Fai clic sul nome dell'immagine per visualizzarne le versioni.
Seleziona le versioni da eliminare.
Fai clic su ELIMINA.
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 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 località regionale o multiregionale del repository.
- PROJECT è il tuo Google Cloud ID progetto.
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 più tag sono associati alla stessa versione immagine, devi includere
--delete-tagsper eliminare la versione immagine senza rimuovere prima i tag. - IMAGE-DIGEST è il valore hash sha256 della versione che vuoi eliminare. Se un tag è associato al digest dell'immagine, devi includere
--delete-tagsper eliminare la versione dell'immagine senza rimuovere prima il tag. --delete-tagsrimuove tutti i tag applicati alla versione immagine. Questo flag ti consente di forzare l'eliminazione di una versione immagine quando:- Hai specificato un tag, ma esistono altri tag associati alla versione immagine.
- Hai specificato un digest immagine con almeno un tag.
Passaggi successivi
- Scopri di più sulla gestione delle immagini Docker.
- Scarica singoli file dal tuo repository senza utilizzare i comandi Helm.