Kubectl Force slett pod

Kubectl Force slett pod
Å bruke Kubectl -kommandoene, å fjerne en pod fra en Kubernetes -node er en enkel operasjon og krever ingen lange trinn. Enten du trenger å feilsøke en node, utføre en oppgradering eller krympe størrelsen på klyngen din, er å slette pods en enkel prosess. Før du sletter en pod, bør du imidlertid gå gjennom et sett med trinn for å sikre at applikasjonen går jevnt.

I denne artikkelen vil vi diskutere disse trinnene. Husk imidlertid at det å skynde seg denne prosessen kan føre til feil og driftsstans for applikasjoner. La oss nå diskutere emnet i detalj.

Hvordan du sletter Kubernetes pods på den enkleste måten?

Du må først liste opp belgene for å slette innlegget på den mest effektive måten. Du kan gjøre det hvis du bruker Get Pods -kommandoen som er gitt nedenfor.

$ kubectl få pods -o bred

Her kan du se at Get Pods -kommandoen listet ned på belgene med detaljer.

Nå, hvis vi sletter "pod-tre" pod. Skriv inn følgende kommando:

$ Kubectl slett pod pod-tre

Kommandoen ovenfor der vi har spesifisert navnet på pod (pod-tre) slettet pod med hell.

$ kubectl få pods -o bred

Ved å liste opp alle belgene, kan du bekrefte at den aktuelle er blitt slettet.

Som du kan bekrefte på bildet som er festet ovenfor, er det ingen 'pod-tre.'

Hvordan tvinge slett Kubernetes pods?

Hvorfor krevde sletting av pod er nødvendig? Etter en timeout kan poden sitte fast i en avsluttende/ukjent tilstand på en uoppnåelig node. Disse statusene kan også oppstå når en bruker prøver å slette en pod fra en utilgjengelig node. I noen situasjoner har du lov til å fjerne/slette POD kraftig.

Hvorvidt en krafts sletting er effektiv i å ødelegge en pod, vil navnet bli fjernet fra apiserveren umiddelbart. Dette vil gjøre det mulig for Statefulset -kontrolleren å etablere en erstatningspod med samme identitet; Dette kan føre til duplisering av en allerede løpende pod, som, hvis nevnte pod fremdeles kan samhandle med andre StatefulSet-medlemmer, ville krenke den på bare en semantikk som Statefulset ble laget for å sikre.

Manuell styrkes sletting må brukes nøye fordi den kan bryte minst en av semantikken i Statefulset. Statefulssets kan brukes til å utføre distribuerte og grupperte applikasjoner som krever en jevn nettverksidentitet og vedvarende lagring.

Konfigurasjonen av disse appene er ofte basert på et ensemble som omfatter et forhåndsbestemt antall medlemmer med faste identiteter. Flere medlemmer som deler de samme identitetene kan være farlige og kan havne i tap av data.

Når du sletter en StatefulSet Pod med makt, sørger du for at den aldri vil kommunisere med andre belg i Statefulset lenger, og at identiteten kan frigjøres sikkert for en erstatning.

Følg disse prosedyrene for å ødelegge en pod ved hjelp av KUBECTL> = 1.5:

$ kubectl slett pods navn-av-pod-grace-period = 0-Force

Hvis du bruker Kubectl> = 1.4, kan du hoppe over -force -argumentet og i stedet bruke:

$ kubectl slette pods navn-av-pod-grace-period = 0

Nå, ved hjelp av ovennevnte vei, sletter du pod “pod-to”:

$ KUBECTL DELETE POD POD-TWO-FORCE-GRACE-PERIOD = 0 --Namespace = standard

Her er resultatet av kommandoen ovenfor når det utføres.

Vær oppmerksom på at kraften pod slettinger ikke er avhengige av Kubelet -bekreftelse på at pod er avsluttet.

Hvis poden forblir i den ukjente statusen etter å ha kjørt disse kommandoene, bruk følgende kommando for å fjerne den fra klyngen:

$ KUBECTL PATCH POD POD -TWO -P '"Metadata": "Finalizers": NULL'

Sjekk for å se om poden er fjernet.

Hvordan fjerne belg fra en node på en gang?

Hvis noden din har noen ikke-essensielle pods eller statlige belg, kan du benytte deg av KUBECTL-avløpskommandoen. Dette trinnet vil fjerne alle belg fra noden. Før du går, dobbeltsjekker du identiteten til noden du sletter og sørger for at belgene på en viss node kan trygt avsluttes. Oppgaven vil bli utført for deg med følgende instruksjon.

$ kubectl få noder

Etter Get POD -kommandoen, bruk følgende siterte kommando gitt nedenfor.

Prøv deretter å bruke følgende siterte instruksjon for å drenere alle belgene.

$ kubectl avløp

For å sikre at ingen pods fremdeles opererer på noden, utfør Get Pods -kommandoen igjen. Hvis du bruker NOExecute for å kjøre belg, vil de fortsatt være på noden.

Utfør avløpskommandoen en gang til. Men denne gangen skal yrket flagget inkluderes. Dette vil eliminere alle belg fra noden. Til slutt, bruk Kubectl Delete Node -kommandoen for å slette noden fra den aktuelle klyngen.

Hvordan tillater belg tilbake på noder?

Når du er ferdig med å utføre vedlikehold på en node, bruk Kubectl Uncordon-kommandoen for å aktivere planlegging på den noden på nytt på den noden på nytt. Da pods blir tilgjengelige for planlegging, vil de dukke opp igjen på den noden.

$ Kubectl Uncordon Docker-Desktop

Hvis du har en nylig uordlig node eller en ny node i klyngen din, kan det være et problem å balansere bestemte belg. Selv om det er best å la Kubernetes -planleggeren tildele pods etter behov når du endrer distribusjonen/statlig sett, kan du tvinge prosessen ved å fjerne belg og planlegge dem andre steder å bruke noen av de tidligere fasene.

Konklusjon

Det kan hende du må slette en enkelt pod eller flere belg fra en av nodene dine når du utfører Kubernetes -klyngen. Det er en mulighet for at du kanskje trenger å feilsøke nodevansker, oppgradere en spesifikk node eller skalere ned klyngen. Selv om det ikke er veldig vanskelig å slette noen pod eller pods fra en node, er det noen tips og teknikker som du bør følge for å sikre at applikasjonen/programmet ditt ikke blir forstyrret. Dette er hva vi har snakket om og utvidet i denne artikkelen. Før du utfører instruksjoner, må du sørge for at du har lest og forstå hvert trinn grundig for å unngå å gjøre feil som kan føre til driftsstans.