Kubernetes er en gratis distribusjon med åpen kildekode og også kjent som k8s. Den brukes til å automatisere distribusjon, administrasjon og skalering av containerisert programvare og applikasjoner. Den gir forskjellige komponenter for beholderadministrasjon som noder, kontrollplan, pods og Kubernetes-distribusjon. Ved hjelp av Kubernetes kan utviklerne enkelt automatisere driftsoppgaven, rulle tilbake endringene og overvåke og skalere de containeriserte applikasjonene og programvaren.
I denne bloggen vil vi forklare:
-
- Hva er Kubernetes Deployment?
- Hvorfor er det bedre å lage distribusjon enn å lage pods?
- Hva er et replikasett i distribusjon?
- Hva er kommandoen 'kubectl create deployment'?
- Forutsetning: Installer kubectl og minikube
- Hvordan lage Kubernetes-distribusjon ved å bruke kommandoen 'kubectl create deployment'?
- Hvordan kjøre replikaer i Kubernetes Deployment Ved å bruke kommandoen 'kubectl create deployment'?
- Hvordan fungerer ReplicaSet for å kontrollere Kubernetes-distribusjon?
- Konklusjon
Hva er Kubernetes Deployment?
Kubernetes Deployment blir referert til som et ressursobjekt som gir deklarativ instruksjon og oppdateringer til hovedelementene som Pods, ReplicaSet og containeriserte applikasjoner. Kubernetes Deployment tillater utvikleren å beskrive den containeriserte applikasjonen som bilde, antall pods, port, replikaer og så videre. Den ene hovedgrunnen til at Kubernetes er bedre enn Docker, er at den tilbyr oss auto-healing og auto-scaling egenskaper, og disse tilstandene er oppnåelige på grunn av Kubernetes Deployment.
I 'auto-healing' er mekanismen en testautomatiseringsteknikk som tester dets løpende objekt og i tilfelle feil oppstår, implementerer det beste samsvaret for korreksjon og bruker rettelsen for å matche den faktiske tilstanden med ønsket tilstand. I 'auto-scaling' skalerer tjenesten applikasjonens arbeidsmengde automatisk.
Hvorfor er det bedre å lage distribusjon enn å lage pods?
Kubernetes-distribusjon lar utvikleren enkelt holde en gruppe av de samme podene i gang med en felles konfigurasjon. Mens du lager en pod, må brukere derimot opprette og kjøre poden separat. I distribusjon, hvis én pod slettes eller avsluttes, vil den automatisk bli gjenskapt og startet på grunn av en auto-helbredelsesmekanisme. Men hvis pods kjøres direkte uten distribusjon, i tilfelle feil, må brukerne gjenskape og kjøre poden manuelt.
Hva er et replikasett i distribusjon?
Da utvikleren opprettet distribusjonen, ble tre hovedkomponenter generert og ReplicaSet er en av dem. ReplicaSet er en kontroller for distribusjon og er ansvarlig for å kjøre det angitte antallet Pods i en distribusjon. I tilfelle, hvis én pod slettes, instruerer ReplicaSet raskt å regenerere den nye poden for å matche den faktiske tilstanden til podene med ønsket tilstand. Den er hovedansvarlig for å gi deklarative oppdateringer til pods.
Hva er kommandoen 'kubectl create deployment'?
« kubectl opprette distribusjon ” er en kommando av Kubectl-verktøyet som brukes til å opprette og starte Kubernetes-distribusjonen. Deretter instruerer distribusjonen Kubernetes hvordan du oppretter og oppdaterer forekomster av applikasjonen din.
Syntaks
kubectl opprette distribusjon < distribusjonsnavn > --bilde = < bildenavn > -- < alternativ =verdi >
Alternativ
Kommandoen 'kubectl create deployment' støtter forskjellige alternativer for å gi et ekstra lag med funksjonalitet og for å gi ekstra instruksjoner for å distribuere forekomster av en applikasjon. Alternativene som støttes av ' kubectl opprette distribusjon kommandoen er gitt nedenfor i tabellform:
Alternativ | Beskrivelse |
“– – tillat-missing-mal-keys | Hvis verdien er satt til sann, vil den ignorere eventuelle feil i maler når en kartnøkkel eller et felt mangler i malen. |
“– –tørrkjørt | Verdien kan være 'ingen', 'server' eller 'klient'. Hvis verdien er klient, vil den bare vise eller skrive ut objektet som ville blitt sendt uten å sende det. Hvis verdien er server, vil den bare sende inn forespørsler på serversiden. |
“– –feltsjef | Viser eller angir lederens navn som brukes til å spore felteierskap. |
'- -bilde | Angi bildenavnet for å spesifisere beholdermalen. |
-o, “– –utgang | Spesifiser utdataformatet. |
'- -havn | Den setter porten til å eksponere beholderen. |
-r, “– –replikaer | Den brukes til å definere en rekke pod-replikaer. |
“– –save-config | Den brukes til å lagre konfigurasjonen av et objekt i merknaden. Hvis verdien er usann, vil merknaden være uendret. |
“– –vis-administrerte-felt | Som standard er verdien falsk. Men hvis det er satt som sant, vil det beholde eller lagre de administrerte feltene når du skriver ut objekter i JSON- eller YAML-format. |
“– –validate=’strict’ | Verdien kan være 'streng', 'advare' eller 'ignorer'. Hvis den er 'streng', vil den validere inndataene og mislykkes i forespørselen hvis den er ugyldig. Hvis verdien er 'advarsel', vil den advare om dupliserte og ukjente felt. Hvis verdien er 'ignorer', vil den ikke utføre noen skjemavalidering. |
Forutsetning: Installer kubectl og minikube
For å starte Kubernetes Deployment i Kubernetes-klyngen, installer først verktøyene nedenfor på systemet:
-
- Kubectl-verktøy: Kubectl er et Kubernetes-kommandolinjeverktøy som brukes til å kontrollere, administrere og drifte en Kubernetes-klynge og dens komponenter som Kubernetes Deployment.
- Minikube-verktøy: Minikube er et implementeringssystem for Kubernetes som gir eller oppretter en virtuell maskin på systemet for å starte Kubernetes-klyngen. Den kan kjøre enkeltnode-klynger og brukes mest av nybegynnere eller til testformål.
For å komme i gang med Kubernetes og installere viktige komponenter som ' kubectl ' og ' minikube ', gå gjennom vår tilknyttede ' 'artikkel.
Hvordan lage Kubernetes-implementering ved å bruke kommandoen 'kubectl create'?
Kubernetes-distribusjonen kan opprettes ved å bruke Yaml-manifestet eller ved ' kubectl opprette distribusjon ' kommando. For å opprette Kubernetes-distribusjonen ved å bruke kommandoen 'kubectl create deployment', følg demonstrasjonen nedenfor.
Trinn 1: Kjør PowerShell
Start først Windows PowerShell med administrative rettigheter fra Start-menyen. De administrative rettighetene kreves fordi minikube starter Kubernetes-klyngen på den virtuelle maskinen ved å bruke HyperV:
Trinn 2: Start Kubernetes Cluster
For å starte Kubernetes-klyngen, bruk ' minikube start ' kommando:
minikube start
Trinn 3: Få Kubernetes-noder
Gå deretter til Kubernetes-nodene for å sjekke om klyngen er startet eller ikke bruker ' kubectl får noder ' kommando:
kubectl får noder
Trinn 4: Opprett Kubernetes-implementering
Opprett en ny Kubernetes-distribusjon i klyngen gjennom 'k ubectl create deployment
Trinn 5: Få Kubernetes Deployment, ReplicaSet og Pod
Kommandoen 'kubectl create deployment' vil opprette tre komponenter Deployment, ReplicaSet og Pod. For å få tilgang til Kubernetes-distribusjonene, kjør ' kubectl få distribusjon ' kommando:
kubectl få distribusjon
Her kan du se ' nginx-distribusjon ' er tilgjengelig i Kubernetes-klyngen:
ReplicaSet er distribusjonskontrolleren som sikrer at applikasjonen i pods kjører feilfritt og reparerer bruddpunktene. For å få tilgang til ReplicaSet, bruk ' kubectl får rs ' kommando:
Her viser ReplicaSet ønsket antall pods og nåværende kjørende pods:
Poden er en mindre enhet av Kubernetes-klyngen som kjører den containeriserte applikasjonen. For å få tilgang til Kubernetes-podene, bruk ' kubectl få pods ' kommando. Her er ' -O alternativet brukes til å spesifisere utdataformatet. For å se Pod IP-adressen har vi brukt ' bred ' format:
Trinn 6: Logg på Kubernetes Cluster
For å få tilgang til applikasjonen som kjører i en beholder, åpner du først Kubernetes-klyngen ved å bruke ' minikube ssh ' kommando:
minikube ssh
Trinn 7: Få tilgang til applikasjoner som kjører i Kubernetes Deployment
Etter det, bruk ' krølle ”-kommandoen sammen med Pod-IP-adressen for å få tilgang til den containeriserte applikasjonen:
krøll 10.244.0.7
Hvordan kjøre replikaer i Kubernetes Deployment Ved å bruke kommandoen 'kubectl create deployment'?
Å lage Kubernetes Deployment er bedre enn å kjøre Pod, da den kan kjøre og administrere en gruppe pods samtidig ved å lage Pod-replikaer. For å kjøre replikaer i Kubernetes-distribusjon ved å bruke kommandoen 'kubectl create deployment', følg instruksjonene nedenfor.
Trinn 1: Opprett Kubernetes-implementering
Først oppretter du en distribusjon ved å bruke ' kubectl opprette distribusjon '-kommandoen sammen med ' “– –kopier ' alternativet. Verdien av 'replikaer'-alternativet vil spesifisere ønsket antall pods som skal administreres og kjøres av ReplicaSet:
kubectl opprette distribusjon nginx-deployment --bilde =nginx:stabil-perl --kopier = 2
Trinn 2: Få Kubernetes Deployment, ReplicaSet og Pods
Nå får du tilgang til Kubernetes-implementeringen ved å bruke kommandoen 'kubectl get deploy':
kubectl få distribusjon
Her kan du se at distribusjonen viser det klare, oppdaterte og tilgjengelige antallet pods:
Bruk kommandoen nedenfor for å få tilgang til ReplicaSet-informasjon. Du kan se at ReplicaSet viser statusen til ønsket antall pods og kjører pods for øyeblikket:
På samme måte, for å få tilgang til de løpende podene, bruk kommandoen nedenfor:
Utdataene indikerer at Kubernetes-distribusjonen utfører ønsket antall Pods-replikaer i Kubernetes-klyngen:
Hvordan ReplicaSet fungerer for å kontrollere Kubernetes-distribusjon?
ReplicaSet er ansvarlig for å kjøre ønsket antall Pods i en distribusjon. Hvis én pod brytes ned eller slettes, vil den automatisk gjenskape poden for å matche gjeldende status for podene med ønsket tilstand. Denne mekanismen implementerer faktisk auto-healing-teknikken. Følg instruksjonene nedenfor for demonstrasjon.
Trinn 1: Se Live Kubernetes Pods
Først, se Pods-statusen live ved å bruke ' kubectl få pods -w ' kommando. Legg også merke til navnet på poden som vil bli ødelagt eller slettet:
kubectl få pods -I
Trinn 2: Slett en pod
Deretter åpner du en annen PowerShell-terminal og prøver å slette den andre poden ved å bruke ' kubectl slett pods
Utdataene viser at vi har slettet poden:
Åpne nå PowerShell-vinduet der podens status er live. Her kan du se når vi slettet poden, at ReplicaSet automatisk opprettet og utførte den nye poden for å matche gjeldende pod-status til ønsket status:
Vi har dekket metoden for å lage Kubernetes Deployment ved å bruke kommandoen 'kubectl create deployment'.
Konklusjon
For å opprette Kubernetes-implementeringen ved å bruke ' kubectl opprette distribusjon ”-kommando, installer først de essensielle verktøyene som minikube og kubectl. Deretter kjører du den nye Kubernetes-klyngen med minikube. Opprett nå en ny distribusjon ved å bruke ' kubectl create deployment