Archivia i grafici Helm in Artifact Registry
Helm è il gestore di pacchetti per in Kubernetes. Utilizza i grafici che definiscono un set di risorse Kubernetes di cui eseguire il deployment.
Questa guida rapida illustra come:
- Crea un repository privato in Artifact Registry
- Crea un grafico di esempio
- Esegui l'autenticazione con il repository
- Esegui il push del grafico nel repository
- Esegui il deployment del grafico
Prima di iniziare
- Accedi al tuo account Google Cloud. Se non conosci Google Cloud, crea un account per valutare le prestazioni dei nostri prodotti in scenari reali. I nuovi clienti ricevono anche 300 $di crediti gratuiti per l'esecuzione, il test e il deployment dei carichi di lavoro.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Assicurati che la fatturazione sia attivata per il tuo progetto Google Cloud.
-
Abilita le API Artifact Registry, Google Kubernetes Engine.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Assicurati che la fatturazione sia attivata per il tuo progetto Google Cloud.
-
Abilita le API Artifact Registry, Google Kubernetes Engine.
Scegli una shell
Per completare questa guida rapida, utilizza Cloud Shell o la tua shell locale.
- Cloud Shell
- Cloud Shell è un ambiente shell per la gestione delle risorse su Google Cloud. Sono preinstallati Docker, Helm e Google Cloud CLI, l'interfaccia a interfaccia a riga di comando per Google Cloud.
- Shell locale
- Se preferisci utilizzare la tua shell locale, devi installare Docker e gcloud CLI nel tuo ambiente.
Avviare Cloud Shell
Per avviare Cloud Shell, segui questi passaggi:
Vai alla console Google Cloud.
Fai clic sul pulsante Attiva Cloud Shell:
.
Si apre una sessione di Cloud Shell all'interno di un frame più in basso nella console. Utilizzerai questa shell per eseguire i comandi
gcloud
.Installa Helm 3.8.0 o versioni successive. Nelle versioni precedenti di Helm, il supporto per i grafici in formato OCI è funzionalità sperimentale.
Esegui
helm version
per verificare la tua versione.
Configurazione di una shell locale
Per installare gcloud CLI e Helm, segui questi passaggi:
Installa gcloud CLI. Per aggiornare un modello esistente, esegui il comando
gcloud components update
.Installa Helm 3.8.0 o versioni successive. Nelle versioni precedenti di Helm, il supporto per i grafici in formato OCI è funzionalità sperimentale.
Esegui
helm version
per verificare la tua versione.
Crea un repository
Crea un repository Docker in cui archiviare il grafico di esempio per questa guida rapida.
Console
Apri la pagina Repository nella console Google Cloud.
Fai clic su Crea repository.
Specifica
quickstart-helm-repo
come nome del repository.Scegli Docker come formato.
In Tipo di località, seleziona Regione, quindi scegli la località
us-west1
.Fai clic su Crea.
Il repository viene aggiunto all'elenco di repository.
gcloud
Esegui questo comando per creare un nuovo repository Docker denominato
quickstart-helm-repo
nella localitàus-west1
con la descrizione "docker repository".gcloud artifacts repositories create quickstart-helm-repo --repository-format=docker \ --location=us-west1 --description="Helm repository"
Esegui questo comando per verificare che il repository sia stato creato.
gcloud artifacts repositories list
Per ulteriori informazioni sui comandi di Artifact Registry, esegui il comando gcloud artifacts
.
Creare un grafico
Per questa guida rapida, creerai un grafico di esempio denominato
hello-chart
.
- Passa alla directory in cui vuoi creare il grafico.
Esegui questo comando per creare il grafico:
helm create hello-chart
Helm crea una directory denominata
hello-chart
con un set di grafici predefinito . Uno dei file è Chart.yaml, che include informazioni sul grafico.Pacchettizza il grafico in un archivio.
helm package hello-chart/
Helm crea un archivio denominato
hello-chart-0.1.0.tgz
utilizzando il nome del grafico e il numero di versione inChart.yaml
.
Esegui l'autenticazione con il repository
Prima di poter eseguire il push o installare le immagini, Helm deve eseguire l'autenticazione Artifact Registry.
Helm può usare le impostazioni del Registro di sistema esistenti in un file di configurazione Docker. Se non hai già configurato Docker per l'utilizzo con Artifact Registry, puoi eseguire l'autenticazione con un token di accesso per questa guida rapida.
Per saperne di più, consulta Configurare l'autenticazione per Helm informazioni sull'autenticazione.
Esegui l'autenticazione con la tua configurazione Docker
Per impostazione predefinita, Helm supporta le impostazioni del Registro di sistema nel file di configurazione Docker config.json. Helm trova le impostazioni del Registro di sistema in la località predefinita o quella specificata DOCKER_CONFIG.
Se hai configurato Docker con un assistente per le credenziali per l'autenticazione con Artifact Registry, Helm utilizza la configurazione esistente per i repository Docker di Artifact Registry.
Autenticazione con un token di accesso
Per eseguire l'autenticazione con un token di accesso:
Ottenere un token di accesso come credenziali quando esegui l'autenticazione su Artifact Registry con Helm.
Linux / MacOS
Esegui questo comando:
gcloud auth print-access-token | helm registry login -u oauth2accesstoken \ --password-stdin https://us-west1-docker.pkg.dev
Windows
Esegui questo comando:
gcloud auth print-access-token ya29.8QEQIfY_... helm registry login -u oauth2accesstoken -p "ya29.8QEQIfY_..." \ https://us-west1-docker.pkg.dev/PROJECT-ID/REPOSITORY
Dove
oauth2accesstoken
è il nome utente da utilizzare per l'autenticazione con un token di accesso.gcloud auth print-access-token
è il comando gcloud per ottenere token di accesso. Il token di accesso è la password per l'autenticazione.
Helm è ora autenticato con Artifact Registry. È tutto pronto per Esegui il push del grafico nel repository.
Esegui il push del grafico in Artifact Registry
Dopo aver creato l'archivio dei grafici e aver eseguito l'autenticazione al repository Artifact Registry, puoi eseguire il push del grafico nel repository.
Per eseguire il push del grafico, esegui questo comando:
helm push hello-chart-0.1.0.tgz oci://us-west1-docker.pkg.dev/PROJECT/quickstart-helm-repo
Sostituisci PROJECT con il tuo Google Cloud ID progetto.
Helm utilizza i valori di Chart.yaml
per l'immagine:
- Il nome del grafico è il nome dell'immagine:
hello-chart
- La versione del grafico è il tag immagine:
0.1.0
Helm restituisce un output simile all'esempio seguente:
Login Succeeded
Pushed: us-west1-docker.pkg.dev/my-project/quickstart-helm-repo/hello-chart:0.1.0
Digest: sha256:67a72...
Esegui questo comando per verificare che il grafico sia ora archiviato repository:
gcloud artifacts docker images list us-west1-docker.pkg.dev/PROJECT/quickstart-helm-repo
L'output comando è simile all'esempio seguente:
Listing items under project my-project, location us-west1, repository quickstart-helm-repo.
IMAGE: us-west1-docker.pkg.dev/my-project/quickstart-helm-repo/hello-chart
DIGEST: sha256:67a72...
CREATE_TIME: 2021-11-08T22:59:57
UPDATE_TIME: 2021-11-08T22:59:57
Ora puoi eseguire il deployment di una release utilizzando il grafico archiviato in Artifact Registry.
Esegui il deployment del grafico
In Helm, un'istanza della tua applicazione di cui è stato eseguito il deployment viene chiamata release. Dopo il giorno aggiunto il tuo repository alla configurazione Helm, puoi eseguire il deployment release del grafico.
Crea un cluster denominato
chart-cluster
per il tuo deployment con il comando:gcloud container clusters create --zone us-west1-a chart-cluster
Quando viene creato il cluster, il comando restituisce un riepilogo simile al nell'esempio seguente:
kubeconfig entry generated for chart-cluster. NAME: chart-cluster LOCATION: us-west1-a MASTER_VERSION: 1.20.10-gke.1600 MASTER_IP: 34.66.36.211 MACHINE_TYPE: e2-medium NODE_VERSION: 1.20.10-gke.1600 NUM_NODES: 3 STATUS: RUNNING
Ottieni le credenziali del cluster in modo che
kubectl
possa accedere al cluster:gcloud container clusters get-credentials --zone us-west1-a chart-cluster
Esegui questo comando per eseguire il deployment di una release di
hello-chart
utilizzando i file dei grafici estratti localmente:helm install hello-chart oci://us-west1-docker.pkg.dev/PROJECT/quickstart-helm-repo/hello-chart --version 0.1.0
Il comando restituisce un riepilogo del deployment:
NAME: hello-chart LAST DEPLOYED: Mon Nov 8 23:15:13 2021 NAMESPACE: default STATUS: deployed REVISION: 1
Il deployment di una release è stato eseguito utilizzando il grafico che hai creato e in Artifact Registry.
Esegui la pulizia
Per evitare che al tuo account Google Cloud vengano addebitati costi per le risorse utilizzate in questa pagina, segui questi passaggi.
Elimina il repository che hai creato con il comando seguente:
gcloud artifacts repositories delete quickstart-helm-repo --location=us-west1
Elimina il cluster che hai creato:
gcloud container clusters delete --zone=us-west1-a chart-cluster
Passaggi successivi
- Scopri di più sull'utilizzo dei grafici.
- Scopri di più su Helm.
- Leggi le nostre risorse su DevOps ed esplora il nostro programma di ricerca.