Hvordan bruke Kubectl Cordon

Hvordan bruke Kubectl Cordon

Kubectl Cordon inneholder noden som "Uplannbar". Dette påvirker anleggskontrolleren som eliminerer noden fra alle tidligere passende LoadBalancer -nodelister og eliminerer effektivt innvendig belastningsbalansertrafikk fra de blokkerte. De relevante knutene vil bli fjernet.

Kubernetes kjører arbeidsmengden ved å tilordne beholderen i poden for å kjøre på noden. Noder kan være virtuelle maskiner eller fysiske maskiner, avhengig av klyngen. Hver node oppnås av kontrollplanet og består av tjenestene som trengs for å kjøre POD.

For å kjøre kommandoene i Kubernetes, må vi installere Ubuntu 20.04. Her bruker vi Linux -operativsystemet for å utføre Kubectl -kommandoene. Nå installerer vi Minikube -klyngen for å kjøre Kubernetes i Linux. Minikube tilbyr en ekstremt jevn forståelse da den gir en effektiv modus for å teste kommandoene og applikasjonene.

La oss se hvordan du bruker Kubectl Cordon:

Start Minikube

Etter å ha installert Minikube -klyngen, må vi åpne en terminal for å kjøre kommandoene. For dette formålet trykker vi 'Ctrl+Alt+T' helt fra tastaturet.

I terminalen skriver vi kommandoen 'Start Minikube', og etter dette venter vi en stund til den blir effektivt startet. Utgangen fra denne kommandoen er gitt under.

Sjekk Kubectl -versjonen

Vi må sjekke versjonen, så vi kjører kommandoen 'Kubectl -versjon'. Ved å kjøre denne kommandoen får vi informasjonen om klientversjon og serverversjon også i output. Når vi går inn i kommandoen 'Kubectl -versjon', vil den vise de etterfølgende resultatene.

Lag en pod i Kubernetes

Hvis vi har en samling av flere noder og belg som betjener applikasjonen. Og hvis en enkelt node går ned. Du har ikke tilgang til belgene over den. Hvis belgene var en del av et replikasett, ville de bli omstrukturert på andre noder. Mengden tid vi venter på at en pod skal bli online kalles POD Clean timeout og er satt til standard på 5 minutter i Controller Manager. Derfor, når en node går offline, venter masternoden opptil 5 minutter tidligere, forutsatt at noden er nede.

Vi får følgende utdata etter å ha utført kommandoen 'Kubectl Get Nodes'. Utgangen returnerer navnet på noden, status, roller, alder og Kubernetes versjon.

Tapper en node

Kubernetes tilbyr en metode for å drenere en node og bruke KUBECTL Node Drain -kommandoen for å stoppe alle pods arrangert på noden og omplanlegges på andre noder. Hvis vi ønsker å lappe eller oppgradere en node med Kubernetes, må vi slutte å planlegge for den noden og tømme belgene som kjører på denne noden. Vi kan tømme nodene slik at arbeidsmengden blir begeistret for andre noder.
Når du tømmer nodene, vil belgene gå ut av noden der de er og vil bli gjenoppbygd på en annen node. Noder er også merket som uplanbare. Dette betyr at du ikke vil kunne planlegge belg på noden før du eliminerer grensene.

Kubernetes kan identifisere nodefeil og omorganisere belg til nye noder. Når noden er avstengt. Dette betyr at vi ikke kan plassere en ny pod på denne noden.

Knutepensering er en Kubernetes -prosess som sikkert fjerner belg fra en node. Vi bruker kommandoen 'Kubectl Drain Minikube' for å fjerne alle belg fra noden sikkert. Når vi kjører kommandoen, oppstår to ting. Noden er avstengt og merket som uplanlagt for den originale poden. Da starter slettingsmetoden, men vi får en melding som i terminalen etter en stund. Etter en stund, avhengig av situasjonen hvordan det tar mye tid å distribuere og bytte den gamle poden med den nye poden) er Kubectl -avløp Minikube -kommandoen avsluttet, og vi kan sjekke om noden er tom.

Avløpskommandoen skiller noden og sier Kubernetes for å ende å arrangere originale belg på noden. Pods suksessivt på objektivnoden vil bli fjernet fra den tomme noden. Det vil si at poden stopper. Vi kan evakuere enten et sett med noder eller en enkelt arbeidernode.

Kommandoen 'Kubectl Drain Minikube' tømmer noden med den spesifiserte etiketten og kan ikke planlegge den på en annen node, så den ignorerer alle demonsett arrangert på noden. Avløpskommandoen utfører to operasjoner.

Cordon noden; Dette betyr å markere selve noden som uplanbar, slik at nye belg ikke er ordnet på noden. Kubectl inneholder en kommando som heter Cordon som tillater oss å lage en node uplanlagt

Fjerner alle belgene som er ordnet på noden slik at planleggeren kan liste dem på nye noder. Slettaksjonen kan ikke gjenopprettes.

  • Ignorer-Daemonsets: Vi kan ikke slette pods som kjører under demonsettet. Dette flagget har utsikt over disse belgene.
  • Slett-tomme-data: Kontroller at dataene blir slettet fra den midlertidige lagringen, så snart pod er slettet

Uklare en node

Vi kan ikke planlegge en ny pod når noden er avstengt. Hvis vi viser en ny pod på noden, må vi låse den opp manuelt.
Vi kan planlegge en ny pod når noden er uordnede. Ved dette kan vi planlegge poden igjen.

Når vi kjører skriptet for å lage en node, kan vi uro. Her viser kommandoen 'Kubectl Uncordon Minikube' at 'Minikube' -noden vil være uordnede.

Konklusjon

En pod er et grunnleggende Kubernetes -objekt som er en viktig enhet for å forstå Kubernetes -objektmodellen. I denne artikkelen har vi diskutert modusen for hvordan du bruker Kubectl Cordon. For dette formålet oppretter vi først en pod, tapper deretter en node, og på slutten, uklar noden.