Come viene gestita la versione in Helm?
sobes.tech AI
Risposta dell'AI
La gestione delle versioni in Helm avviene su due livelli:
-
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. -
Versione dell'Applicazione (App Version): Definisce la versione dell'applicazione stessa, consegnata con questo Chart. È specificata nel file
Chart.yamled è 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).