Hvordan gjøre Kubernetes blågrønn distribusjon

Hvordan gjøre Kubernetes blågrønn distribusjon
I denne artikkelen vil vi snakke om Kubernetes 'blågrønne distribusjoner, og hvorfor bruk av dem er det beste valget. Kubernetes er utvilsomt den ideelle plattformen for blågrønne distribusjoner. For eksempel kan vi bruke plattformen til å distribuere applikasjonen, bytte brukerens trafikk og deretter slette det blå miljøet etter å ha dynamisk opprettet det grønne. Vi kan bruke Kubernetes for å administrere hele den blågrønne prosessen med bare ett verktøy. Kubernetes har betydelig økt standardisering, men det dynamiske miljøet nødvendiggjør kontinuerlig tilpasning. Så la oss starte med å diskutere hvordan Kubernetes brukes til å bygge distribusjoner.

Blå grønn distribusjonsstrategi i Kubernetes

Det er også kjent som en "null driftsstans" distribusjonsmetode fordi K8s i denne typen prosesser produserer en ny pod i et nytt miljø sammen med en eksisterende distribusjon i stedet for å slette eller erstatte en eksisterende pod.

Denne distribusjonsmetoden gir mulighet for samtidig drift av to identiske produksjonsmiljøer. Den ene er produksjonsmiljøet som for tiden er i bruk. Det får hver brukertrafikk indikert som blå. Klonen i det andre miljøet er ledig (grønt). Appkonfigurasjonen brukes av begge.

Den nye applikasjonsversjonen er satt opp i en grønn setting og settes på prøve når det gjelder ytelse og funksjonalitet. Applikasjonstrafikken blir avledet fra blått til grønt etter at testresultatene er vellykket. Den nye produksjonen er da grønn.

Hva er prosessen med blågrønn distribusjon i Kubernetes?

I Kubernetes er den blågrønne distribusjonsprosessen som følger:

  1. Farge indikerer applikasjonens nåværende versjon (e.g blå)
  2. Nye pods brukes til distribusjonen, og den er merket i den nye fargen (i.e., grønn)
  3. Selv om begge versjonene samtidig er tilgjengelige, peker Kubernetes -tjenesten fremdeles på den eldre/blå versjonen, derfor har ikke alle systembrukere ennå blitt gjort oppmerksom på endringen.
  4. På den nye versjonen kan mange tester gjennomføres uten å påvirke nåværende kunder.
  5. Kubernetes-tjenesten blir byttet over og peker nå på den nye versjonen etter en brukerdefinert periode. Nå er den nye muligheten tilgjengelig for alle aktive brukere uten avbrudd.

La oss undersøke den komplette blågrønne distribusjonsprosessen mer detaljert. Se for deg at vi for øyeblikket bruker versjon 1 av et program, som vises i blått. Vi bruker distribusjoner og pods for å kjøre apper i Kubernetes. I figuren nedenfor kan du se den blå distribusjonen der "versjon 1" brukes. 'Pod 1', 'Pod 2' og 'Pod 3' kan også sees inne i distribusjonen.

Følgende versjon, betegnet “Versjon 2”, er deretter utarbeidet for bruk. Derfor utvikler vi en helt ny produksjonsinnstilling som heter Green (se figur nedenfor).

I Kubernetes viser det seg at vi ganske enkelt trenger å spesifisere en ny distribusjon; Plattformen gjør resten. På grunn av det blå miljøets fortsatte normale drift, er brukere fremdeles uvitende om endringen. De vil ikke legge merke til noen endring før vi vender den blå til grønn trafikk.

Bare utviklere som liker å ta risikoer er kjent for å teste i produksjonen. Men på dette stedet kan hvem som helst gjøre det uten å ta noen fare. På samme Kubernetes -klynge som blå, kan vi teste grønt når det passer oss.

Versjon 1 er i standby -modus, som vist nedenfor. Mens versjon 2 er aktiv på det grønne. Se figuren nedenfor for å forstå dette konseptet bedre. Her kan du se at den grønne utplasseringen blir satt i arbeid nå. Alle ressursene som brukes av den blå distribusjonen brukes nå av den grønne distribusjonen. Du kan se at ingenting skjer i den blå utplasseringen.

Når brukerne har blitt byttet fra blått til grønt og vi er fornøyde med utfallet, kan vi slette blått for å frigjøre ressurser. I figuren nedenfor kan du bare se den grønne distribusjonen som fungerer vellykket.

Blågrønne distribusjoner er vanskelige, som du kanskje forventer. Vi må administrere nettverket mens vi sjonglerer to distribusjoner samtidig. Heldigvis forenkler Kubernetes prosessen i stor grad. Vi bør imidlertid gjøre alt for å automatisere utgivelsessyklusen.

Oppgradering Blå grønn distribusjon

Det tar mer tid å fullføre en blågrønn distribusjon enn en vanlig oppgradering. Dette fordi vi måtte sette opp de nye klyngene og installere alle appene våre på nytt; og mer finansiering er nødvendig for oppgraderinger. Som et resultat, der det er gjennomførbart, favoriserer vi en standardoppgradering. Den blågrønne distribusjonsmetoden kan brukes til å oppgradere noen få versjoner eller for å øke tilliten til oppgraderinger som inkluderer bryteendringer. Vi må nøye analysere alle endringene i komponentene som vil bli oppgradert for å avgjøre om det eksisterer noen brytningsendringer.

Fordeler med å bruke blågrønne distribusjoner

Når du distribuerer til produksjon, har bruk av denne strategien mange fordeler.

Mindre driftsstans

Før et system går på nettet, krever distribusjoner alltid litt tid. Blue Green gir oss muligheten til å distribuere til produksjon og direkte trafikk til den nye distribusjonen når den er i drift og live. Som et resultat vil det ikke være noen driftsstans for brukerne.

Umiddelbar tilbakeblikk

Hvis det blå miljøet i dette scenariet er det mangelfulle, kan vi omdirigere all vår trafikk til det grønne miljøet, som vil ha den siste stabile versjonen. Vi kan også la utviklerne våre løse eventuelle feil i den siste utgivelsen. Når feilen er reparert, vil trafikken igjen bli omdirigert og en annen utplassering vil bli gjort tilbake til blå.

Ikke påvirke brukere

Brukeren din vil ikke engang være klar over at en distribusjon mislyktes hvis den gjør det.

Konklusjon

Distribusjoner er en av de mest avgjørende fasene i programvareutviklingslivssyklusen, så hver aktivitet som er engasjert i dem, må vurderes nøye og testes for å sikre at det er den ideelle passformen for systemarkitekturen og driften vår. Vi har spesielt dekket blågrønne distribusjoner i dette innlegget. En av de potensielle metodene for å distribuere en applikasjon til produksjon er denne. Som enhver annen tilnærming har den ulemper. Vi har diskutert det nevnte emnet i detalj og grafisk representasjon for å hjelpe deg med å forstå det bedre.