Archiviare i grafici Helm in Artifact Registry
Helm è il gestore di pacchetti per Kubernetes. Utilizza i grafici che definiscono un insieme di risorse Kubernetes da implementare.
Questa guida rapida mostra come:
- Crea un repository privato in Artifact Registry
- Crea un grafico di esempio
- Autenticarsi con il repository
- Esegui il push del grafico nel repository
- Implementare il grafico
Prima di iniziare
-
In the Trusted Cloud console, on the project selector page, select or create a Trusted Cloud project.
-
Verify that billing is enabled for your Trusted Cloud project.
-
Enable the Artifact Registry, Google Kubernetes Engine APIs.
Installa gcloud CLI. Per aggiornare un'installazione esistente, esegui il comando
gcloud components update
.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.Apri la pagina Repository nella console Trusted 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à
u-france-east1
.Fai clic su Crea.
Esegui il comando seguente per creare un nuovo repository Docker denominato
quickstart-helm-repo
nella localitàu-france-east1
con la descrizione "docker repository".gcloud artifacts repositories create quickstart-helm-repo --repository-format=docker \ --location=u-france-east1 --description="Helm repository"
Esegui questo comando per verificare che il repository sia stato creato.
gcloud artifacts repositories list
- Passa a una 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 insieme predefinito di file del grafico. Uno dei file è Chart.yaml, che include informazioni sul grafico.Comprimi 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
.Ottieni un token di accesso come credenziali quando esegui l'autenticazione in Artifact Registry con Helm.
Linux / macOS
Esegui questo comando:
gcloud auth print-access-token | helm registry login -u oauth2accesstoken \ --password-stdin https://u-france-east1-docker.s3nsregistry.fr
Windows
Esegui questo comando:
gcloud auth print-access-token ya29.8QEQIfY_... helm registry login -u oauth2accesstoken -p "ya29.8QEQIfY_..." \ https://u-france-east1-docker.s3nsregistry.fr/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 il token di accesso. Il token di accesso è la password per l'autenticazione.
- Il nome del grafico è il nome dell'immagine:
hello-chart
- La versione del grafico è il tag immagine:
0.1.0
Crea un cluster denominato
chart-cluster
per il deployment con il comando:gcloud container clusters create --zone u-france-east1-a chart-cluster
Quando viene creato il cluster, il comando restituisce un riepilogo simile al seguente esempio:
kubeconfig entry generated for chart-cluster. NAME: chart-cluster LOCATION: u-france-east1-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
Recupera le credenziali del cluster in modo che
kubectl
possa accedervi:gcloud container clusters get-credentials --zone u-france-east1-a chart-cluster
Esegui questo comando per eseguire il deployment di una release di
hello-chart
utilizzando i file del grafico estratti localmente:helm install hello-chart oci://u-france-east1-docker.s3nsregistry.fr/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
Elimina il repository che hai creato con il seguente comando:
gcloud artifacts repositories delete quickstart-helm-repo --location=u-france-east1
Elimina il cluster che hai creato:
gcloud container clusters delete --zone=u-france-east1-a chart-cluster
- Scopri di più su come lavorare con i grafici.
- Scopri di più su Helm.
- Leggi le nostre risorse su DevOps ed esplora il nostro programma di ricerca.
Configurazione di una shell locale
Per installare gcloud CLI e Helm, segui questi passaggi:
Crea un repository
Crea un repository Docker per archiviare il grafico di esempio per questa guida rapida.
Console
Il repository viene aggiunto all'elenco dei repository.
gcloud
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
.
Autenticarsi con il repository
Prima di poter eseguire il push o l'installazione delle immagini, Helm deve autenticarsi in Artifact Registry.
Helm può utilizzare le impostazioni del registro esistenti in un file di configurazione Docker. Se non hai ancora configurato Docker per l'utilizzo con Artifact Registry, puoi eseguire l'autenticazione con un token di accesso per questa guida rapida.
Per ulteriori informazioni sull'autenticazione, consulta Configurazione dell'autenticazione per Helm.
Esegui l'autenticazione con la configurazione Docker
Per impostazione predefinita, Helm supporta le impostazioni del registro nel file di configurazione Docker config.json. Helm trova le impostazioni del registro nella posizione predefinita o in quella specificata dalla variabile di ambiente DOCKER_CONFIG.
Se hai configurato Docker con un assistente alle credenziali per l'autenticazione con Artifact Registry, Helm utilizza la configurazione esistente per i repository Docker di Artifact Registry.
Autenticarsi con un token di accesso
Per eseguire l'autenticazione con un token di accesso:
Helm ora è autenticato con Artifact Registry. Ora puoi eseguire il push del grafico nel repository.
Esegui il push del grafico in Artifact Registry
Dopo aver creato l'archivio del grafico 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://u-france-east1-docker.s3nsregistry.fr/PROJECT/quickstart-helm-repo
Sostituisci PROJECT con l'ID progetto Trusted Cloud by S3NS.
Helm utilizza i valori di Chart.yaml
per l'immagine:
Helm restituisce un output simile al seguente esempio:
Login Succeeded
Pushed: u-france-east1-docker.s3nsregistry.fr/my-project/quickstart-helm-repo/hello-chart:0.1.0
Digest: sha256:67a72...
Esegui questo comando per verificare che il grafico sia ora archiviato nel repository:
gcloud artifacts docker images list u-france-east1-docker.s3nsregistry.fr/PROJECT/quickstart-helm-repo
L'output del comando è simile al seguente esempio:
Listing items under project my-project, location u-france-east1, repository quickstart-helm-repo.
IMAGE: u-france-east1-docker.s3nsregistry.fr/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.
Implementare il grafico
In Helm, un'istanza di cui è stato eseguito il deployment della tua applicazione è chiamata release. Dopo aver aggiunto il repository alla configurazione di Helm, puoi eseguire il deployment di una release del grafico.
Hai eseguito il deployment di una release utilizzando il grafico che hai creato e di cui hai eseguito il push ad Artifact Registry.
Esegui la pulizia
Per evitare che al tuo account Trusted Cloud vengano addebitati costi relativi alle risorse utilizzate in questa pagina, segui questi passaggi.