Sobes.tech
Middle

Come viene gestita la versione in Helm?

sobes.tech AI

Risposta dell'AI

La gestione delle versioni in Helm avviene su due livelli:

  1. Versione del Chart (Chart Version): Definisce la versione di tutto il Helm Chart. Viene modificata quando si apportano modifiche ai modelli, ai valori predefiniti o ai metadati del Chart. È specificata nel file Chart.yaml.

  2. Versione dell'Applicazione (App Version): Definisce la versione dell'applicazione stessa, consegnata con questo Chart. È specificata nel file Chart.yaml ed è puramente informativa per l'utente finale del Chart. Non influisce sul funzionamento di Helm.

File Chart.yaml:

# File con metadati del Chart
apiVersion: v2       # Versione API di Helm
name: my-app         # Nome del Chart
description: La mia applicazione # Descrizione del Chart
version: 1.2.3       # Versione del Chart. Si consiglia di seguire SemVer.
appVersion: "2.5.0"  # Versione dell'applicazione. Stringa.

Ciclo di vita e versionamento delle release:

Ogni volta che si installa o si aggiorna un Helm Chart, Helm crea una nuova release. Ogni release ha un numero di revisione unico. Questo numero aumenta ad ogni operazione helm install, helm upgrade o helm rollback per lo stesso nome di release.

Esempio di gestione delle release:

# Installazione del Chart (creazione della release, revisione 1)
helm install my-release ./my-chart

# Aggiornamento del Chart (creazione di una nuova versione della release, revisione 2)
helm upgrade my-release ./my-chart

# Rollback alla versione precedente della release (creazione di una nuova versione, revisione 3)
helm rollback my-release 2

# Visualizzare la cronologia delle release
helm history my-release

Utilizzo delle versioni durante installazione e aggiornamento:

Durante l'installazione o l'aggiornamento di un Chart da un repository, è possibile specificare una versione particolare usando il flag --version:

# Installare una versione specifica del Chart
helm install my-release my-repo/my-chart --version 1.2.3

# Aggiornare alla versione specifica del Chart
helm upgrade my-release my-repo/my-chart --version 1.3.0

In questo modo, la gestione delle versioni in Helm copre sia il pacchetto (Chart) con il suo contenuto, sia la storia delle distribuzioni di quel pacchetto (release).