Ny

Författare:Esadax
Uppdaterad:11 apr. 2025

Ett styrdiagram för hantering av Kubernetes-applikationer

Vad är Novu?

Novu är en populär Helm Chart utformad för att effektivisera hanteringen av Kubernetes applikationer. Det är en robust lösning för att enkelt distribuera, uppdatera och skala behållaranpassade program. Oavsett om du arbetar med en monolitisk app eller en mikrotjänstarkitektur erbjuder Novu ett flexibelt och effektivt sätt att hantera dina Kubernetes-resurser.

Varför använda Novu?

Helm är de facto pakethanteraren för Kubernetes, vilket gör det möjligt för utvecklare att hantera diagram – samlingar av YAML-filer – som definierar distributionskonfigurationen för program. Novu bygger på Helm genom att erbjuda ytterligare funktioner som gör hanteringen av dessa diagram mer intuitiv och kraftfull.

En av de utmärkande egenskaperna hos Novu är dess deklarativa konfigurationsmetod. Det innebär att du kan ange exakt hur din applikation ska distribueras, skalas och underhållas utan att dyka in i komplexa YAML-strukturer. Novu abstraherar mycket av Kubernetes komplexitet, så att du kan fokusera på affärslogiken snarare än den underliggande infrastrukturen.

Viktiga funktioner och egenskaper

Deklarativ konfiguration

Novu tar ett deklarativt tillvägagångssätt för konfiguration, vilket innebär att du definierar din applikations krav i klartext. Detta är särskilt användbart för att definiera beroenden, konfigurationer och resursspecifikationer. Du kan till exempel ange att appen kräver vissa miljövariabler eller specifika volymer.

Integration med CI/CD-pipelines

Novu integreras sömlöst med pipelines för kontinuerlig integration och kontinuerlig leverans (CI/CD). På så sätt kan du automatisera distributionen av programmet i olika miljöer, till exempel utveckling, mellanlagring och produktion. Du kan också använda verktyg som Jenkins, GitHub Actions eller CircleCI för att utlösa distributioner när kodändringar upptäcks.

Övervakning och observabilitet

Kubernetes ger kraftfulla övervaknings- och observationsmöjligheter, men att hantera dessa verktyg för varje applikation kan vara besvärligt. Novu förenklar denna process genom att tillhandahålla inbyggt stöd för övervakning och loggning. Du kan enkelt integrera mätvärden, loggar och spår från tjänster som Prometheus, Grafana och Kubernetes Metrics API.

Felhantering och återställningar

Att distribuera program till produktion medför risker, särskilt när du arbetar i ett distribuerat system som Kubernetes. Novu innehåller robust felhantering och rollbacks mekanismer som gör att du kan upptäcka och lösa problem snabbt. Om en applikation misslyckas med att distribuera eller inte svarar kan Novu automatiskt utlösa återställningar eller nya försök.

Att komma igång

Installation

För att installera Novu måste du ha Helm installerat på ditt system. Du kan ladda ner den med följande kommando:

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

När Helm har ställts in kan du installera Novu genom att köra:

helm install novu --create-namespace

Konfiguration

Novu använder en YAML-fil för att definiera din applikations konfiguration. Du kommer att skapa en novu.yaml-fil i din arbetskatalog med innehåll som detta:

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

Beroenden

Du kan ange beroenden i din Novu-konfiguration för att säkerställa att alla nödvändiga komponenter distribueras tillsammans med ditt program. Här är ett exempel:

dependencies:
  - name: database
    version: 1.2.3

Exempel på användning

Distribuera ett enkelt program

Här är ett exempel på att distribuera en enkel webbapplikation med Novu:

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

Med det här kommandot distribueras komponenten my-app med den angivna behållaravbildningen och taggen.

Skala din applikation

Novu gör det enkelt att skala din ansökan genom att helt enkelt ändra dess konfiguration. Du kan lägga till en skalningsprincip som automatiskt justerar antalet behållare baserat på efterfrågan:

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

Uppdatera din ansökan

Att uppdatera din ansökan är enkelt med Novu. Du kan helt enkelt skicka en ny version av behållaravbildningen och utlösa en uppdatering:

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

De bästa metoderna

Versionshantering

Upprätthåll alltid tydlig versionshantering för dina applikationer. Använd semantisk versionshantering (t.ex. 1.2.3) för att ange större, mindre och korrigeringsuppdateringar.

Integrering av CI/CD

Använd CI/CD-pipelines för att automatisera testning och driftsättning. Använd webhooks eller utlösare för att automatiskt distribuera när kodändringar skickas till din lagringsplats.

Övervakning

Ställ in övervakning och loggning från början. Definiera mätvärden, loggar och spår i din Novu-konfiguration för att hålla reda på din applikations hälsa och prestanda.

Testning

Innan du distribuerar till produktion ska du alltid testa programmet i en mellanlagringsmiljö. Använd Novu för att skapa ett mellanlagringskluster eller namnområde för testning före distribution.

Felsökning

Om du stöter på problem när du använder Novu kontrollerar du loggarna och mätvärdena som tillhandahålls av Kubernetes. Vanliga problem är beroendekonflikter, resursbegränsningar eller konfigurationsfel.

Konfigurationsparametrar

Efter att ha köpt det här programmet på Esadax, kommer du att uppmanas att tillhandahålla konfigurationsparametrarna nedan. Esadax lägger till de tillhandahållna variablerna i driftsättningen så att applikationen kan startas med den konfiguration den kräver.

Parametrar Beskrivning
apiUrl Värde som tillhandahålls till distributionen för apiUrl.
webUrl Värde som tillhandahålls till distributionen för webUrl.
wsUrl Värde som tillhandahålls till distributionen för wsUrl.

När värdena är konfigurerade klickar du på Distribuera för att starta programmet. Det köpta programmet använder de medföljande konfigurationsvärdena, inklusive autentiseringsuppgifter som användarnamn och lösenord när dessa parametrar tillhandahålls.

Slutsats

Novu är ett utmärkt val för att hantera Kubernetes-applikationer på grund av dess deklarativa konfiguration, integration med CI/CD-pipelines och robust felhantering. Genom att följa stegen i den här guiden kan du snabbt distribuera, uppdatera och skala dina program med tillförsikt. Oavsett om du arbetar med ett litet projekt eller en storskalig driftsättning ger Novu den flexibilitet och kraft du behöver för att lyckas.