Nuovo

Autore:Esadax
Aggiornato:11 apr 2025

Un diagramma Helm per la gestione delle applicazioni Kubernetes

Cos’è Novu?

Novu è un popolare Helm Chart progettato per semplificare la gestione delle applicazioni Kubernetes. Fornisce una soluzione robusta per distribuire, aggiornare e scalare le applicazioni containerizzate con facilità. Che tu stia lavorando su un'app monolitica o su un'architettura di microservizi, Novu offre un modo flessibile ed efficiente per gestire le tue risorse Kubernetes.

Perché usare Novu?

Helm è il gestore di pacchetti de facto per Kubernetes, che consente agli sviluppatori di gestire i grafici, ovvero le raccolte di file YAML, che definiscono la configurazione di distribuzione per le applicazioni. Novu si basa su Helm offrendo funzionalità aggiuntive che rendono la gestione di questi grafici più intuitiva e potente.

Una delle caratteristiche di spicco di Novu è il suo approccio di configurazione dichiarativa. Ciò significa che è possibile specificare esattamente come l'applicazione deve essere distribuita, scalata e mantenuta senza immergersi in strutture YAML complesse. Novu astrae gran parte della complessità di Kubernetes, consentendoti di concentrarti sulla logica di business piuttosto che sull'infrastruttura sottostante.

Le caratteristiche chiave

Configurazione dichiarativa

Novu adotta un approccio dichiarativo alla configurazione, il che significa che definisci i requisiti della tua applicazione in testo normale. Ciò è particolarmente utile per definire dipendenze, configurazioni e specifiche delle risorse. Ad esempio, è possibile specificare che l'app richiede determinate variabili di ambiente o volumi specifici.

Integrazione con pipeline CI/CD

Novu si integra perfettamente con le pipeline di integrazione continua e distribuzione continua (CI/CD). Ciò consente di automatizzare la distribuzione dell'applicazione in diversi ambienti, ad esempio sviluppo, staging e produzione. Puoi anche utilizzare strumenti come Jenkins, GitHub Actions o CircleCI per attivare le distribuzioni quando vengono rilevate modifiche al codice.

Monitoraggio e osservabilità

Kubernetes fornisce potenti funzionalità di monitoraggio e osservabilità, ma la gestione di questi strumenti per ciascuna applicazione può essere ingombrante. Novu semplifica questo processo fornendo un supporto integrato per il monitoraggio e la registrazione. Puoi integrare facilmente metriche, log e tracce da servizi come Prometheus, Grafana e l'API Kubernetes Metrics.

Gestione degli errori e rollback

La distribuzione di applicazioni in produzione comporta dei rischi, soprattutto quando si lavora in un sistema distribuito come Kubernetes. Novu include robusti meccanismi di gestione degli errori e rollback che consentono di rilevare e risolvere rapidamente i problemi. Se un'applicazione non riesce a essere distribuita o non risponde, Novu può attivare automaticamente rollback o nuovi tentativi.

Per iniziare

Installazione

Per installare Novu, dovrai avere Helm installato sul tuo sistema. È possibile scaricarlo utilizzando il seguente comando:

helm repo add https://charts.novu.sh
helm repo update

Una volta impostato Helm, è possibile installare Novu eseguendo:

helm install novu --create-namespace

Configurazione

Novu utilizza un file YAML per definire la configurazione dell'applicazione. Verrà creato un file novu.yaml nella directory di lavoro con un contenuto simile a questo:

apiVersion: v1
kind: Component
metadata:
  name: my-app
  version: 1.0.0
spec:
  containers:
    - name: my-service
      image: mycompany/myapp:latest
      ports:
        - containerPort: 80

Dipendenze

È possibile specificare le dipendenze nella configurazione di Novu per garantire che tutti i componenti richiesti vengano distribuiti insieme all'applicazione. Per esempio:

dependencies:
  - name: database
    version: 1.2.3

Esempi di utilizzo

Distribuzione di un'applicazione semplice

Ecco un esempio di distribuzione di una semplice applicazione web utilizzando Novu:

helm install --set image.repository=mycompany/myapp \
          --set image.tag=latest \
          my-app novu

Questo comando distribuisce il componente my-app con l'immagine del contenitore e il tag specificati.

Scalare la tua applicazione

Novu rende facile scalare la tua applicazione modificando semplicemente la sua configurazione. È possibile aggiungere un criterio di ridimensionamento che regola automaticamente il numero di contenitori in base alla domanda:

spec:
  containers:
    - name: my-service
      image: mycompany/myapp:latest
      ports:
        - containerPort: 80
      resources:
        limits:
          cpus: '2'

Aggiornamento della tua applicazione

Aggiornare la tua applicazione è semplice con Novu. Puoi semplicemente inviare una nuova versione dell'immagine del contenitore e attivare un aggiornamento:

docker build -t mycompany/myapp:new-version .
helm update --create-namespace my-app novu

Le migliori pratiche

Versione

Mantieni sempre chiaro il controllo delle versioni per le tue applicazioni. Utilizzare il versioning semantico (ad esempio, 1.2.3) per indicare gli aggiornamenti principali, secondari e patch.

Integrazione con CI/CD

Sfrutta le pipeline CI/CD per automatizzare test e distribuzione. Usa webhook o trigger per distribuire automaticamente quando le modifiche al codice vengono inviate al tuo repository.

Monitoraggio

Impostare il monitoraggio e la registrazione fin dall'inizio. Definisci metriche, registri e tracce nella tua configurazione Novu per tenere traccia dello stato e delle prestazioni della tua applicazione.

Prova

Prima di distribuire in produzione, testare sempre l'applicazione in un ambiente di staging. Usa Novu per creare un cluster di staging o uno spazio dei nomi per i test di pre-distribuzione.

Risoluzione dei problemi

Se si verificano problemi durante l'utilizzo di Novu, controllare i registri e le metriche forniti da Kubernetes. I problemi comuni includono conflitti di dipendenze, limiti di risorse o errori di configurazione.

Parametri di configurazione

Dopo aver acquistato questa applicazione su Esadax, ti verrà richiesto di fornire i parametri di configurazione qui sotto. Esadax aggiunge le variabili fornite al deployment in modo che l'applicazione possa essere lanciata con la configurazione richiesta.

Parametri Descrizione
apiUrl Valore fornito alla distribuzione per apiUrl.
webUrl Valore fornito alla distribuzione per webUrl.
wsUrl Valore fornito alla distribuzione per wsUrl.

Una volta configurati i valori, fare clic su Distribuisci per avviare l'applicazione. L'applicazione acquistata utilizzerà i valori di configurazione forniti, incluse le credenziali come nomi utente e password quando vengono forniti tali parametri.

Conclusione

Novu è una scelta eccellente per la gestione delle applicazioni Kubernetes grazie alla sua configurazione dichiarativa, all'integrazione con le pipeline CI/CD e alla robusta gestione degli errori. Seguendo i passaggi descritti in questa guida, è possibile distribuire, aggiornare e scalare rapidamente le applicazioni in tutta sicurezza. Che tu stia lavorando a un piccolo progetto o a una distribuzione su larga scala, Novu fornisce la flessibilità e la potenza necessarie per avere successo.