Rullende distribusjon i Kubernetes

Rullende distribusjon i Kubernetes

I dette innlegget vil vi se på distribusjonsalternativene for bruk av Kubernetes container-orkestreringssystem for å distribuere containere. Vi vil ha lært hvordan vi skal distribuere i Kubernetes -klyngen på en rekke måter ved slutten av denne artikkelen. Hvis du virkelig vil lære mer om dette emnet, fortsett å lese artikkelen. Koden finner du i seksjonene nedenfor.

Hva er distribusjoner i Kubernetes?

Kubernetes distribusjoner er bare replikasetter pakket inn i en Kubernetes -innpakning. Distribusjonen overvåker antall driftsputer, mens replikasetten administrerer antall løpende pods. Dette gir mulighet for rullende oppdateringer, POD -helsekontroller og enkel tilbakeføring av oppdateringer.

Utplasseringen vil bare holde et enkelt replikasett under normal drift, noe som sikrer at antall nødvendige pods opererer.

Du skal ikke administrere replikasetten som distribusjonen oppretter direkte mens du bruker distribusjoner. Alle operasjoner utført på et replikasett skal i stedet utføres på distribusjonen, og administrerer replikasettoppdateringsprosessen.

Muligheten til å utføre rullende oppdateringer er en av de viktigste fordelene med distribusjonen. Distribusjoner gir deg mye fleksibilitet i forhold til rullende oppdateringer, slik at du kan oppdatere Pods 'konfigurasjon gradvis.

Hva er de typiske brukssaker for distribusjon?

Distribusjoner brukes ofte i følgende scenarier:

  • For å rulle ut et replikasett, opprette en distribusjon. I bakgrunnen bygger replikasetten belg. Kontroller fremdriften i distribusjonen for å sjekke om det var vellykket.
  • Oppdater distribusjonens podtemplatespec for å gjenspeile den endrede tilstanden til belgene. Utplasseringen har ansvaret for å administrere den kontrollerte overføringen av belg fra det gamle til den nye replikasetten og danne en ny. Med hver nye Replicaset blir distribusjonens revisjon oppdatert.
  • Øk distribusjonens kapasitet til å håndtere større trafikk.
  • Pause en distribusjons utrulling for å gjøre forskjellige endringer i podtemplatespec, og fortsett den for å begynne en ny utrulling.
  • Distribusjonsstatusen kan brukes til å avgjøre om en utrulling har vært vellykket eller ikke.
  • Fjern tidligere replikasetter som du ikke lenger trenger.

Forutsetninger:

Først må du installere Minikube -klyngen og begynne Ubuntu 20.04. Åpne nå en terminal for å kjøre kommandoene. For dette formålet, trykk på snarveien “Ctrl+Alt+T” på tastaturet.

Du kan også skrive kommandoen "Start Minikube" i terminalen. Etter dette, vent en stund til det starter. Følgende er resultatet av denne instruksjonen:

$ Minikube Start

Hvordan lage en distribusjon?

I Kubernetes dannes distribusjoner ved å spesifisere deres krav i en YAML -definisjonsfil. La oss bruke eksemplet på en distribusjon som heter Deploy.YAML med følgende parametere for å se hvordan en rullende oppdatering distribusjon er konfigurert:

$ nano distribuerer.Yaml


Hele konfigurasjonsfilen finner du her. For å få opp tre belg, oppretter koden nedenfor en replikasett. I eksemplet.metadata.Navnkolonne indikerer at det er opprettet en distribusjon som heter Nginx-distribusjon. Distribusjonen produserer tre replikerte belg, ifølge.spesifikasjon.Replikk attributt.

Distribusjonen er.spesifikasjon.Selector -feltet spesifiserer hvordan det bestemmer hvilke pods de skal administrere. I dette tilfellet bruker du pod -malen til å velge en etikett (app: nginx). Mer kompliserte utvalgsregler er mulig hvis pod -malen passer til kriteriene.


For å opprette distribusjonen, utfør den gitte kommandoen etter å ha konfigurert distribusjonen YAML:

$ KUBECTL CREATE -F DEPLOY.Yaml

Bruk kommandoen Kubectl Get Deployments for å se om distribusjonen ble opprettet, som vist nedenfor.

$ kubectl få distribusjoner


Hvis det er noen pågående distribusjoner, kan du overvåke utrullingsstatusen ved å skrive denne kommandoen.


Etter noen sekunder, kjør Kubectl for å få distribusjoner igjen for å se detaljene.

$ kubectl få distribusjoner


For å inspisere replikasetten (RS) opprettet av distribusjonen, bruk KUBECTL Get RS -kommandoen. Her er resultatet.

$ kubectl få rs

Kjør Kubectl Get Pods -Show -Labels for å se de automatisk produserte etikettene for hver pod. Utgangen kan se slik ut:

$ Kubectl Get Pods-Show-Labels

Hvordan oppdatere en distribusjon?

Følg trinnene som er utdypet nedenfor for å oppdatere distribusjonen

La oss endre Nginx -pods for å bruke følgende versjon av Nginx: i stedet for å bruke Nginx: 1.14.2 bilde, bruk 1.16.1 bilde.


Kjør den gitte kommandoen og se utrullingsstatusen.


Etter at utrullingen er fullført, bruk Kubectl for å få distribusjoner for å se distribusjonen. Følgende er utgangen:

$ kubectl få distribusjoner


For å hente detaljer om distribusjonen din, kjør følgende kommando:

$ kubectl beskrive distribusjoner


Anta at du gjorde en feil når du endret distribusjonen og skrev Nginx: 1.161 i stedet for nginx: 1.16.1 i bildetavnet:

Utrullingen blir stoppet. Du kan sjekke utrullingens ytelse her:


For å stoppe ovennevnte distribusjonsstatus, bruk CTRL-C.

Hva er fordelene med å rulle oppdateringer?

Rullende oppdateringer muliggjør progressiv integrering av endringer, og gir deg mer fleksibilitet og kontroll over søknadens levetid. Følgende er noen av fordelene ved å bruke rullende oppdateringer for Kubernetes klynger:

  • Det er ingen driftsstans fordi applikasjonens POD -forekomster alltid kjører, selv under en oppgradering.
  • Lar utviklere teste virkningen av endringer i et produksjonsmiljø uten å forstyrre brukeropplevelsen.
  • Det er en kostnadseffektiv distribusjonsteknikk fordi den ikke krever ytterligere ressurser som er tilordnet klyngen.
  • Komplekse oppgraderinger kan utføres effektivt ved å gjøre enkle endringer i en distribusjonsfil, og eliminere behovet for tidkrevende manuell migrasjon av konfigurasjonsfiler.

Konklusjon:

Dette innlegget dekket det grunnleggende om distribusjoner, hvordan rullende oppdateringer fungerer, og en rekke konfigurasjonsvalg for finjustering av oppdateringer og POD-planlegging. Du skal nå kunne etablere og endre distribusjoner med tillit for å oppnå riktig tilstand for søknaden din.