Come utilizzare il nuovo repository di grafici Helm di GitLab

0
160

GitLab 14.1 ha aggiunto i grafici Helm al crescente elenco di formati di repository dei pacchetti supportati. Ora puoi archiviare e condividere i tuoi grafici utilizzando i tuoi progetti GitLab, senza un registro Helm separato.

I grafici Helm sono una raccolta di manifest YAML Kubernetes distribuiti come un singolo pacchetto. Rendono più semplice e veloce la distribuzione di applicazioni complesse nel tuo cluster. L'utilizzo di GitLab come registro consente al tuo team di archiviare i grafici insieme al codice in un repository gestito dall'organizzazione.

Utilizzo del repository Helm GitLab

< p>Assicurati che la tua istanza GitLab sia stata aggiornata alla versione 14.1. Se stai utilizzando la distribuzione ospitata di GitLab.com, avrai già tutto ciò di cui hai bisogno.

Prepara un semplice grafico Helm da inviare al tuo repository. L'esecuzione di helm create example produrrà un nuovo grafico standard chiamato esempio se non ne hai uno disponibile. Il grafico generato sarà pronto per essere inviato direttamente a GitLab, senza alcuna modifica.

< /p>

Passa alla tua istanza GitLab. Crea un nuovo progetto o trovane uno esistente. Utilizzando la barra laterale sinistra, vai a Pacchetti & Registri > Registro dei pacchetti all'interno del tuo progetto. Se non vedi questi menu, vai su Impostazioni > Generale, espandere “Visibilità, caratteristiche del progetto, autorizzazioni” l'intestazione e abilita l'intestazione “Pacchetti” toggle.

Aggiungere il repository a Helm

Ora sei pronto per iniziare a utilizzare il tuo repository di pacchetti. Per iniziare, devi registrarlo con il tuo client Helm.

helm repo add –username <username> –password <token> example-repo https://gitlab.example.com/api/v4/projects/<project>/packages/helm/stable Advertisement

Il repository locale si chiamerà example-repo. Sostituisci <nome utente> con il tuo nome utente GitLab. Il valore di <token> dovrebbe essere un token di accesso personale che ha il permesso di inviare pacchetti.

< /p>

Puoi generare un nuovo token facendo clic sull'icona del tuo profilo nell'angolo in alto a destra dell'interfaccia di GitLab. Seleziona “Preferenze” dal menu, quindi “Token di accesso” dalla barra laterale sinistra. Aggiungi un nuovo token di accesso con l'ambito API. L'ambito write_repository potrebbe sembrare corretto ma in realtà non funzionerà; facilita solo l'accesso utilizzando Git su HTTP, mentre Helm richiede l'integrazione API.

Sostituisci il <progetto> nell'URL del tuo repository con l'ID del progetto GitLab a cui vuoi eseguire il push. Puoi trovarlo nella sua homepage, sotto il suo nome.

Pushing al repository

Una volta che il repository è stato aggiunto , puoi eseguire il push di qualsiasi directory con un grafico Helm valido fino alla tua istanza GitLab. Di solito è più semplice installare il plug-in helm-push che aggiunge un comando helm push nativo.

Compila il tuo grafico se non lo hai già fatto:

pacchetto helm example-chart

Questo creerà un archivio tar gzippato, example-chart.tgz, contenente il tuo grafico.

Aggiungi il plugin helm-push:

helm plugin install https://github.com/chartmuseum/helm-push.git Advertisement

Infine, usa il plugin per inviare il tuo grafico al tuo repository GitLab:

helm push example-chart.tgz example-repo

Torna nell'interfaccia web di GitLab, vai a Packages & Registri > Schermata Registro pacchetti. Dovresti vedere apparire il tuo grafico.

Fai clic sul grafico& #8217;s nome per visualizzarne i dettagli. Questa schermata ti consente di tenere traccia della cronologia del grafico, scaricare i file dei pacchetti e visualizzare le versioni precedenti. Puoi eliminare il grafico con il pulsante “Elimina” pulsante situato in alto a destra.

Utilizzo di grafici nel repository

Con il grafico nel tuo repository, puoi distribuirlo nel tuo cluster Kubernetes. I comandi di installazione di helm dovrebbero funzionare immediatamente:

# carica il contenuto dei repository helm repo update # installa il grafico helm install example-repo/example-chart

Questo avvierà una nuova distribuzione del grafico nel cluster attivo. Usa i flag Helm –kubeconfig e –namespace se necessario per selezionare un file di configurazione Kubernetes appropriato e specificare lo spazio dei nomi in cui eseguire il deployment.

Accesso al repository di GitLab in una pipeline CI

Come con gli altri formati di pacchetto, il repository Helm di GitLab beneficia dell'integrazione integrata con il sistema CI/CD del software. Le tue pipeline riceveranno variabili di ambiente preimpostate che semplificano il processo di pubblicazione dei grafici. Non è necessario impostare alcuna variabile CI personalizzata per configurare l'autenticazione.

Pubblicità

Ecco una pipeline di esempio che crea un grafico e lo pubblica nel tuo repository:

stage: – helm-publish helm-publish: stage: helm-publish immagine: nome: alpine/helm:ultimo punto di ingresso: [""] script: – helm repo add –username $CI_REGISTRY_USER –password $CI_REGISTRY_PASSWORD mio-repo $CI_REGISTRY – pacchetto helm mio-grafico – helm push mio-grafico.tgz mio-repo

Le variabili $CI_REGISTRY sono configurate per consentire spingere nuovi pacchetti nel registro. Puoi riutilizzarli durante l'autenticazione negli altri repository di GitLab, come npm, Composer, NuGet e Maven.

Riepilogo

GitLab ora ha un repository integrato di grafici Helm che ti consente di archiviare i tuoi manifest Kubernetes insieme al tuo codice. Chiunque abbia accesso in lettura al repository del progetto sarà in grado di aggiungerlo al proprio client Helm e distribuire i grafici nei cluster Kubernetes.

Quando viene pubblicata una nuova versione del grafico, eseguire helm repo update e quindi utilizzare l'aggiornamento del timone per spostare le installazioni distribuite nella nuova versione. Puoi gestire le versioni dei grafici dall'interno di GitLab ed eliminare le vecchie versioni che stanno sprecando spazio su disco.