Å administrere alle de mange komponentene i applikasjonen din kan være utfordrende hvis du bruker Kubernetes, som du sikkert godt vet. Det er der Helm kommer inn; det er en løsning som gjør det enklere for deg å administrere Kubernetes-appene dine.
Du kan definere og installere applikasjonen din og hver av dens komponentdeler ved å bruke Helms "diagrammer".
I denne artikkelen skal jeg lede deg gjennom bruken av Helm-diagrammer. Du vil kunne bruke dem selv. Selv om du er helt ny på Kubernetes, tror jeg at du vil dra nytte av denne opplæringen for å forbedre effektiviteten og administrerbarheten til Kubernetes-distribusjonene dine.
Oversikt over Helm
Helm er en Kubernetes-pakkebehandling som gjør det enklere å administrere og distribuere apper. Bruken av "diagrammer" gjør det mulig for brukere å lage, installere og oppgradere sofistikerte Kubernetes-applikasjoner. En samling av Kubernetes-ressurser og konfigurasjoner kan enkelt deles.
Disse ressursene kan gjenbrukes på tvers av flere applikasjoner, og de er definert av diagrammer, som fungerer som maler. Helm er et viktig verktøy for Kubernetes-distribusjon. Den har også flere andre funksjoner, inkludert tilbakerulling, versjonsstyring og avhengighetsstyring.
Hjelmdiagrammer
Hjelmdiagrammer er forhåndskonfigurerte Kubernetes-ressurspakker. De kan enkelt installeres og endres med Helm. Diagrammer er sammensatt av flere komponenter, inkludert maler, verdifiler og metadatafiler som spesifiserer de ulike ressursene som utgjør diagrammet.
Rorkart kan lagres i et kartlager, som er en samling av diagrammer som kan deles og distribueres på tvers av flere miljøer. Helm støtter også versjonering, slik at brukere kan holde styr på flere versjoner av diagrammene deres.
Så de kan ganske enkelt rulle tilbake til tidligere versjoner om nødvendig.
Hjelmdiagrammer og deres komponenter
Rordiagrammer består av en samling filer som spesifiserer Kubernetes-ressursene som utgjør en applikasjon. Disse filene inneholder maler som spesifiserer de mange Kubernetes-ressursene som utgjør diagrammet, for eksempel distribusjoner, tjenester og pods.
Brukere kan redigere disse malene og spesifisere spesielle parametere for forskjellige situasjoner ved å bruke verdifiler. Metadatafiler, som f.eks Diagram. yaml, inkludere informasjon om diagrammet, for eksempel navn, versjon og avhengigheter.
Kartlager og versjonskontroll
Kartlagre kan være vert for en rekke nettsteder, inkludert GitHub, GitLabog Amazon S3, og kan legges til Helm ved å bruke kommandoen helm repo add.
Helm støtter også versjonskontroll, slik at brukere kan holde styr på flere versjoner av diagrammene og ganske enkelt rulle tilbake til tidligere versjoner om nødvendig.
Dette forenkler administrasjonen og distribusjonen av flere versjoner av en applikasjon i ulike innstillinger som utvikling, iscenesettelse og produksjon.
Fordeler med å bruke Helm-diagrammer
Hjelmdiagrammer har flere fordeler for å kontrollere Kubernetes-applikasjoner. For det første lar diagrammer brukere raskt utveksle og gjenbruke oppsett på tvers av flere apper, noe som sparer tid og krefter når de administrerer kompliserte installasjoner.
Kart kan også være versjonert og lagret i et kartlager, noe som muliggjør enkel distribusjon og vedlikehold av flere versjoner av en applikasjon.
Verdifiler kan brukes til å justere diagrammer, noe som gjør det enkelt å distribuere den samme applikasjonen til en rekke innstillinger med varierende konfigurasjoner. Totalt sett forenkler og skalerer Helm-diagrammer administrasjonen av komplekse Kubernetes-oppsett.
Opprette et rordiagram
Et rordiagram kan lages i noen få enkle trinn. For å begynne må du ha Helm CLI installert på din lokale datamaskin. Etter det kan du begynne å utvikle diagrammet.
En trinn-for-trinn guide for å lage et rordiagram
Kjør kommandoen opprette for å generere et nytt diagram. Dette vil opprette en ny katalog med det valgte diagramnavnet, som vil inkludere filene som trengs for diagrammet ditt.
Du kan legge inn metadata om diagrammet i Chart.yaml-filene, for eksempel navn, versjon og beskrivelse.
Standardinnstillingene for diagrammet er definert i filen values.yaml. Når diagrammet er installert, kan disse innstillingene endres, slik at det kan tilpasses.
Malene/katalogen inkluderer YAML-filene som spesifiserer Kubernetes-ressursene som vil bli produsert når du installerer diagrammet. Disse filene kan tilpasses for å møte de unike kravene til applikasjonen din.
Etter at du er ferdig med å lage diagrammet, bruker du kommandoen ror package for å pakke det sammen. Dette vil generere en a.tgz-fil, som kan lagres i et kartlager og installeres ved hjelp av kommandoen helm install.
Ulike komponenter i et rordiagram, for eksempel maler og verdifiler
Når du bygger et Helm-diagram, må du være kjent med noen få forskjellige komponenter.
Du kan legge inn metadata om diagrammet i Chart.yaml-filene, for eksempel navn, versjon og beskrivelse. For alle diagrammer er denne filen nødvendig.
Standardinnstillingene for diagrammet er definert i filen values.yaml. Når diagrammet er installert, kan disse innstillingene endres, slik at det kan tilpasses. Alle diagrammer krever også denne filen.
Malene/katalogen inkluderer YAML-filene som spesifiserer Kubernetes-ressursene som vil bli produsert når du installerer diagrammet. Disse filene kan tilpasses for å møte de unike kravene til applikasjonen din.
Praktiske eksempler for å hjelpe brukere med å lage sine Helm-diagrammer
Det er mange Helm-karteksempler tilgjengelig på nettet som kan brukes som et utgangspunkt for å utvikle diagrammene dine. Helm-dokumentene og det offisielle Helm-kartlageret gir begge flere eksempler.
Å lage et Helm-diagram for en grunnleggende Node.js-applikasjon er et praktisk eksempel. Diagrammet må inkludere Kubernetes-ressurser som Deployment, Service og ConfigMap. For å definere applikasjonsbildet, porten og eventuelle miljøvariabler, bruk values.yaml-filen.
Brukere kan ganske enkelt utvikle sine egne Helm-diagrammer for sine Kubernetes-applikasjoner ved å følge metodene angitt ovenfor og bruke praktiske eksempler som referanse.
Installere og oppgradere med Helm
Du kan bruke Helm-diagrammet ditt til å installere og administrere Kubernetes-apper etter at du har utviklet dem. For å installere et diagram, bruk helm install
kommando, etterfulgt av diagrammets navn og eventuelle andre innstillinger.
For å oppgradere et eksisterende diagram, bruk helm upgrade
kommandoen for å erstatte den gamle versjonen med den nye. Helm har også en helm rollback
kommando som kan brukes til å angre en oppgradering.
Avanserte funksjoner i Helm
Helm har også flere tilleggsfunksjoner som kan hjelpe deg med å administrere Kubernetes-applikasjonene dine. En av disse fordelene er muligheten til å bruke miljøvariabler for å modifisere dine Helm-diagrammer.
Miljøvariabler kan brukes til å lagre sensitive data som du ikke vil inkludere i koden din, for eksempel passord eller API-legitimasjon.
Et annet sofistikert aspekt ved Helm er kompatibiliteten med CI/CD-arbeidsflyter. Dette kan hjelpe deg med å automatisere applikasjonsdistribusjonene og sikre konsistens på tvers av alle miljøer.
For å bruke Helm med en CI/CD-pipeline, skriv et skript som installerer eller oppgraderer diagrammet ditt ved å bruke helm
kommando.
Tilpasse Helm-diagrammer med miljøvariabler
Du kan definere variablene i filen values.yaml som er inkludert i diagrammet for å legge til miljøvariabler til Helm-diagrammene. Variablene i diagrammets maler kan deretter refereres til ved å bruke {{ .Values.variableName }}-syntaksen.
Bruker Helm med CI/CD-rørledninger
Du må først skrive et skript som bruker helm
kommando for å installere eller oppgradere kartet hvis du vil bruke Helm med en CI/CD-arbeidsflyt.
Når du ønsker å distribuere en ny versjon av applikasjonen din, kan du inkludere dette skriptet i pipeline og kalle det.
konklusjonen
Helm-diagrammer tilbyr en praktisk måte å pakke og distribuere Kubernetes-ressurser, og Helm er et sterkt verktøy for å administrere Kubernetes-applikasjoner.
Du bør nå ha en solid forståelse av hvordan du utvikler, installerer og administrerer Helm-diagrammer etter å ha fulgt instruksjonene i denne artikkelen.
Helm kan gjøre Kubernetes-distribusjonene enklere og applikasjonene dine enklere å administrere, enten du er utvikler eller Systemadministrator.
Legg igjen en kommentar