Hva er et Kubernetes Pod Disruption Budget (PDB)?
I Kubernetes, når noe skaper et avbrudd i driften av en pod, anses avbruddet som en forstyrrelse. Forstyrrelsen kan være av enhver type som ved et uhell ved å bruke kommandoen “Kubectl Delete” i stedet for “Kubectl Get” -kommandoen eller en node som krever omstart på grunn av et systemulykke osv. Imidlertid kan frivillige forstyrrelser også oppstå i tilfelle.
Når en applikasjons pod må planlegges av en spesifikk grunn som rutinemessig vedlikehold, en oppgradering eller noe annet, står applikasjonen overfor mange forstyrrelser langs omplanleggingsprosessen. POD -forstyrrelsesbudsjettet (PDB) er en metode i Kubernetes som brukes til å begrense disse forstyrrelsene slik at en applikasjon kan kjøre omplanleggingsprosessen jevnt. PDB lar eieren av søknaden stille kravene til distribusjonen slik at applikasjonen blir mindre avbrutt av noen form for forstyrrelse. Med andre ord, PDB lar eieren av søknaden spesifisere driftskravene som kan tolereres ved en distribusjon, slik at den kan holde seg stabil når en forstyrrelse oppstår.
La oss lære hvordan du konfigurerer et POD-forstyrrelsesbudsjett for et Kubernetes-applikasjon ved hjelp av følgende trinn-for-trinns guide.
Forutsetninger:
Før du begynner, må du sørge for at systemet ditt oppfyller alle nødvendige forutsetninger. Du må ha Ubuntu 20.02 eller annen siste versjon installert i systemet ditt. På toppen av det må du ha en virtuell maskin aktivert slik at Kubernetes -terminalen kan brukes. Dessuten må du være eier av Kubernetes -applikasjonen som kjører på Kubernetes Cluster. Det siste du trenger er å sikre at Kubernetes -klyngen lar deg stille inn POD -forstyrrelsesbudsjettet.
La oss nå konfigurere POD -forstyrrelsesbudsjettet i Kubernetes. Følg følgende trinn for konfigurasjonen:
Trinn 1: Start Kubernetes
Når du trenger å jobbe med Kubernetes, er det første trinnet å starte Kubernetes slik at du kan ha full tilgang til Ubuntu Virtual Machine. Minikube er et Kubernetes -miljø, eller med enkle ord er det en dashbordterminal som brukes til å kjøre appene og kommandoene. For å starte Minikube, brukes "Start" -kommandoen som følger:
> Minikube Start
Skriv inn denne kommandoen på Kubernetes -terminalen og trykk Enter. På kommandoutførelsen får du følgende svar:
Når du har Kubernetes Terminal opp og kjørt vellykket, må du bestemme hvordan Kubernetes -applikasjonen din skal reagere på forstyrrelsene. De to viktigste tingene du trenger å spesifisere er den minste tilgjengelige parametergrensen og den maksimale utilgjengelige parametergrensen. Den minavailable parameteren spesifiserer hvor mange pods som alltid skal være tilgjengelige selv om en forstyrrelse oppstår. MaxUnaVailable -parameteren spesifiserer hvor mange belg som kan være utilgjengelig om gangen i tilfelle forstyrrelse. Verdien for minaVailable og maxUnaVailable kan settes som et heltall, eller det kan være en prosentandel. La oss nå se hvordan du oppretter et PDB -objekt som en YAML -fil ved å bruke de minavailable og maxunaVailable parametere.
Trinn 2: Opprett en YAML -fil for definisjonen av POD -forstyrrelse
Nå som Kubernetes -dashbordet vårt er i gang med suksess, som vi ser i forrige skjermbilde, er vi klare til å starte konfigurasjonen av POD -forstyrrelsesbudsjettet (PDB) for et Kubernetes -applikasjon. For å åpne eller opprette en ny fil, gir Kubernetes en "Nano" -kommando. Her oppretter vi en YAML -fil for definisjonen av POD Disruption Budget (PDB) ved å bruke følgende kommando:
> Nano Pdbmin.Yaml
"Nano" er Kubernetes -kommandoen som oppretter en fil. "PDBmin" er filnavnet som er spesifisert av brukeren. Og “.yaml ”er utvidelsen av filen som er i ferd med å opprettes. Skriv denne kommandoen på Kubernetes -terminalen og trykk Enter fra tastaturet.
Her bruker vi minavailable parameter for å stille de tolerable driftskravene til PDB. Som du kan se i følgende skjermbilde, er verdien av den minavatte parameteren 2, noe som betyr at 2 pods må være tilgjengelig hele tiden selv om forstyrrelsen skjer på applikasjonen.
La oss opprette en annen PDB -definisjon som en YAML -fil ved hjelp av MaxUnAvailable -parameteren. Bruk den samme “Nano” -kommandoen for å opprette PDB -definisjonen som en YAML -fil:
> nano pdmax.Yaml
Som du kan se i følgende skjermbilde, er verdien for den maxunaVailable parameteren 1, noe som betyr at bare 1 pod kan være utilgjengelig i tilfelle forstyrrelse.
Trinn 3: Opprett et POD Disruption Budget (PDB) -objekt
Neste trinn er å lage objektet med PDB fra YAML -definisjonene som tidligere ble opprettet. Bruk instruksjonen “Kubectl Apply” for å opprette PDB -objektet:
> KUBECTL Bruk -f pdmax.Yaml
Som du kan se i utgangen, er objektet blitt opprettet med suksess.
Trinn 4: Kontroller POD Disruption Budget (PDB) objektstatus
La oss nå bekrefte statusen til det nylig opprettede PDB -objektet. Bruk instruksjonen “Kubectl get” for å bekrefte statusen til PDB -objektet. Skriv inn “Kubectl Get” -kommandoen på terminalen og se statusen til PDB -objektet:
> KUBECTL Få poddisruptionsbudsjett
Husk at vi setter den maxunaVailable -verdien til 1, som vises i forrige utgang.
Hvis du vil se den detaljerte statusen til POD Disruption Budget (PDB) -objektet, kan du bruke “Kubectl Get” -kommandoen som følger:
> Kubectl Få poddisruptionsbudgets Zk -Pdb -o Yaml
Konklusjon
Denne artikkelen presenterte hvordan du oppretter en definisjon av en POD -distribusjonsbudsjett (PDB) ved hjelp av minavailable og maxunaVailable -parametere for Kubernetes -applikasjonen. Vi lærte da hvordan du lager PDB -objektet fra de definerte YAML -definisjonene og sjekket statusen til det opprettede objektet ved hjelp av KUBECTL -kommandoen. Ved å følge de gitte trinnene vil du lære å opprette og konfigurere PDB -objektene og validere om objektet fungerer som den skal.