Hvordan ruller jeg tilbake en kubectl?

Hvordan ruller jeg tilbake en kubectl?
De siste par årene har Kubernetes vært sterkt ansatt i produksjonen. Dens deklarative API gir en rekke alternativer for å orkestrere containerne. En av Kubernetes 'mest bemerkelsesverdige funksjoner er dens spenst, som inkluderer muligheten til å gjøre rullende og rulleback -distribusjoner. Når det gjelder å sette apper i drift, er det forskjellige alternativer. Rullende oppdateringer er standardtilnærmingen for å oppdatere den løpende versjonen av applikasjonen din i Kubernetes.

Den rullende oppdateringen fjerner periodisk eldre belg og erstatter dem med nyere belg. Du kan endre bilder, innstillinger, etiketter, merknad og ressursbegrensninger i arbeidsmengden i klyngene dine ved hjelp av en rullende oppdatering. Rullende oppdateringer Begynn å erstatte ressursens belg med nye ting, som deretter er planlagt på noder når det er behov for ressurser. Rullende oppdateringer er bygget for å opprettholde arbeidsmengdene dine oppdatert uten å forårsake forstyrrelser.

Kubernetes og Kubectl gir en enkel mekanisme for å rulle tilbake ressursmodifikasjoner. Når en distribusjon ikke er sikker, for eksempel når den krasjer, kan det være lurt å rulle tilbake distribusjonen. Som standard lagrer systemet all distribusjonens utrullingshistorikk slik at du kan rulle tilbake når som helst. I denne guiden skal vi snakke om metoden for å rulle tilbake en kubectl.

Metode for å rulle tilbake en kubectl

Vi implementerer denne opplæringen på Ubuntu 20.04 Linux -system. La oss starte Minikube -klyngen i Ubuntu 20.04 Linux -system ved utførelse av følgende vedlagte kommando.

$ Minikube Start

Vi har installert Kubectl også for effektiv implementering av denne opplæringen.

Opprette distribusjon

En distribusjon er en Kubernetes -enhet som brukes til å deklarativt administrere pods ved hjelp av replikasetter. Den har funksjonalitet for oppdateringer, kontroll og tilbakevending. Dette innebærer at du kan oppgradere eller nedgradere et program uten å forårsake en bruker blackout, og også rulle tilbake til forrige hvis den nåværende versjonen er upålitelig eller full av problemer. Distribusjon kan også bruke en deklarativ styringsstil for å få optimale tilstander i en applikasjon angitt i en YAML -fil for å leve. Vi vil designe en distribusjon som vil lage et ReplicAset som vil sette opp 3 Nginx POD -forekomster. Du trenger en Kubernetes-klynge opp og opererer, samt Kubectl-kommandolinjeverktøyoppsettet og koblet til det. Ved hjelp av ledeteksten, oppretter du en YAML -manifestfil med tittelen “Distribusjon1.Yaml ”ved å bruke“ Touch ”-kommandoen.

Filen vil bli generert i hjemmekatalogen. Nå må vi legge til litt informasjon om distribusjon i den opprettede filen.

“. metadata.Navn ”attributt indikerer at en distribusjon som heter Nginx-distribusjon er etablert. “. spesifikasjon.Replikk ”attributt indikerer at distribusjonen produserer tre replikerte belg. Feltet ".spesifikasjon.velger ”spesifiserer hvordan distribusjonen bestemmer hvilke pods de skal opprettholde. I dette scenariet vil du velge en etikett fra POD -malen (APP: NGINX). Mer komplekse seleksjonsregler er gjennomførbare, så lenge pod -malen direkte oppfyller kriteriene. Kjør den påfølgende kommandoen i Ubuntu -terminalen for å generere distribusjonen:

$ kubectl gjelder -f distribusjon1.Yaml

Utgangen viser at distribusjonen har blitt generert effektivt i ovennevnte skjermbilde. Kontroller statusen til distribusjonen for å oppfatte om den er dannet. Utfør den oppførte kommandoen nedenfor i konsollen.

$ kubectl få distribusjoner

Navnene på distribusjonene i navneområdet er oppført i kategorien "Navn". Antall kopier av applikasjonen som er tilgjengelig for våre brukere, vises i kategorien “Klar”. Den opprettholder det klare/ønskede mønsteret. Mengden kopier som er endret for å oppnå måltilstanden vises i kategorien “oppdatert”. Kategorien "tilgjengelig" viser hvor mange kopier av applikasjonen brukerne dine har tilgang til. Feltet "alder" -kategori viser hvor lenge applikasjonen har vært i drift. Utfør den vedlagte kommandoen for å se statusen til distribusjonsrullingen.

$ Kubectl Rollout Status Deployment/Nginx-Deployment

Hvis du får en utdata som dette, betyr det at distribusjonen fremdeles er i ferd med å bli generert. Vent noen sekunder før du kjører kommandoen på nytt. Slik vil det endelige resultatet se ut etter at det er avsluttet.

$ kubectl få distribusjoner

Utfør Kubectl for å få RS for å se Replicaset (RS) etablert av distribusjonen. Det deretter viste bildet er et utvalg av utgangen:

$ kubectl få rs

Identitetene til replikasettene er oppført i kategorien "Navn". Det ønskede antall applikasjonsreplikker, som du gir når du bygger distribusjonen, vises i kategorien “ønsket”. Kategorien “nåværende” viser antall kopier som for tiden er aktive. Antall kopier av applikasjonstilgangen til brukerne dine vises i kategorien "Klar". "Age" -feltet viser hvor lenge applikasjonen har vært i drift.

Konklusjon

Denne artikkelen har gitt dybdekunnskap om viktigheten av Kubectl Rollback. Vi har gitt et eksempel på distribusjonsrulling for å avklare leserens leserull tilbake prosessen.