Hva er en hodeløs tjeneste i Kubernetes?
I Kubernetes opprettes en hodeløs tjeneste uten bruk av en klynge -IP -adresse. I noen tilfeller trenger vi ikke en eneste tjeneste -IP for klyngen, så vi brukte Kubernetes 'Headless Service. I denne hodeløse konfigurasjonen kan tjenesten fremdeles brukes til å opprettholde nettverksidentiteten og DNS for en samling pods, selv når den ikke kan nås via klyngen IP. Vi brukte stort sett hodeløse når individuell pod -tilgang var nødvendig uten bruk av en fullmakt. Vi kan ikke bruke en belastningsbalanse her fordi vi ikke kan hente IP -adresser. Denne tjenesten brukes ofte til statlige applikasjoner, som databaser, der det er avgjørende å ha en jevn nettverksidentitet for hver iterasjon.
Forutsetninger
Brukeren må ha den nyeste versjonen av Ubuntu installert på systemet sitt og forstå hvilken kommando som brukes til å starte alle prosesser. Brukeren må være kjent med Kubernetes, klynger, pods og Kubectl -kommandolinjen, samt ha dem installert på systemet. For Windows -brukere gir Virtual Box eller VMware muligheten til å bruke et annet operativsystem samtidig. For Windows -brukere må virtuell boks installeres, og Ubuntu eller Linux skal kjøres effektivt. Etter å ha installert alle pakker som Kubernetes i applikasjonen, installerer du en Minikube i applikasjonen, og deretter beveger vi oss mot den hodeløse servicebeskrivelsen, som vi deler i forskjellige trinn med riktige eksempler for din forståelse. Så ta en titt på følgende:
Trinn 1: Opprett en konfigurasjonsfil
Til å begynne med oppretter vi en konfigurasjonsfil der vi forklarer alt om hodeløse tjenester i detalj. Så vi kjører kommandoen på Minikube Local Cluster for konfigurasjonsfilen:
> nano deplomani.YamlNår den ovennevnte kommandoen blir utført, åpnes konfigurasjonsfilen med navnet “Deplomani.yaml ”. Konfigurasjonsfilen for beholderen ble opprettet, som vi kan se i vedlagte skjermbilde.
Trinn 2: Distribuer konfigurasjonsfilen i Kubernetes
I dette trinnet lærer vi hvordan du distribuerer konfigurasjonsfilen som er definert i forrige trinn i Kubernetes. Vi kjører kommandoen for fildistribusjon som følger:
> kubectl create -f deplomani.YamlDistribusjonen opprettes etter utførelsen av denne kommandoen. Beholderen, eller pod, er opprettet her.
Trinn 3: Lag servicemanifest i Kubernetes
I dette trinnet lager vi en fil for å starte en vanlig tjeneste i Kubernetes. Så vi kjører kommandoen for å lage et manifest for regelmessig tjeneste, som er:
> Nano Regsev. YamlKjør kommandoen i terminalen og trykk Enter. Når kommandoen kjøres, “regsev.YAML ”-filen opprettes vellykket, som vist på skjermdumpen nedenfor. Her er typen pod-tjeneste, navnet på pod er regelmessig tjeneste, og portene er koblet til IP-adresser.
Trinn 4: Distribusjon av den vanlige tjenestemanifestet
I dette trinnet distribuerer vi den definerte vanlige tjenestemanifestet i Kubernetes. Så vi kjører kommandoen her for dette formålet:
> KUBECTL CREATE -F REGSEV.YamlTjenesten er distribuert og opprettet vellykket etter utførelse av kommandoen.
Trinn 5: Lag en hodeløs tjenestemanifest
I dette trinnet ønsker vi å lage en tjenestemanifest der vi definerer hodeløse tjenester. Så vi kjører kommandoen for å opprette en YAML -fil:
> Nano Headsv.YamlSkriv inn kommandoen i KUBECTL -kommandolinjen og trykk Enter. Når vi oppretter en manifest for en hodeløs tjeneste i Kubernetes, kan vi spesifisere “Ingen” som klyngen IP når vi definerer tjenesten i manifestfilen.
Trinn 6: Distribuer hodeløs service
Dette trinnet innebærer å distribuere denne hodeløse YAML -filen til Kubernetes. Så vi kjører kommandoen her:
> KUBECTL CREATE -F HEADSV. YamlEtter utførelse av kommandoer opprettes systemets hodeløse tjeneste “Headless-SVC” med hell. Denne kommandoen oppretter en tjeneste uten en klynge -IP, men den oppretter likevel DNS -poster for belgene som passer til velgeren slik at vi kan nå dem med deres DNS -navn.
Trinn 7: Legg til midlertidig klynge i Kubernetes
I dette trinnet kjører vi kommandoen for å lage noen få midlertidige klynger ved å stille inn bildet i applikasjonen.
> KUBECTL RUNE MIDISTORI --IMAGE = RADIAL/BURYBOXPLUS: CURL -I --TTYNår vi kjører kommandoen, viser skjermbildet vedlagt ovenfor midlertidige klynger som har sine egne mellomrom i anvendelsen av Kubernetes.
Trinn 8: Få serveren og IP -adressen til den hodeløse tjenesten
I dette trinnet ønsker vi å se serveradressen og IP -adressen til den hodeløse tjenesten i Kubernetes. Vi kjører kommandoen som returnerer en verdi som en adresse og serverer den fra DNS -serveren. Oppslagskommandolinjeverktøyet brukes til å spørre DNS-servere for informasjon.
> NSlookup Headless-SVCDenne kommandoen ga oss en server og IP, og oppslaget returnerte oss et vertsnavn av “Headless SVC.”Hvis vertsnavnet ikke er løst, returnerer DNS en feilmelding.
Trinn 9: Slett alle kjøretjenester i Kubernetes
I dette trinnet avslutter vi alle kjøretjenester fordi disse tjenestene engasjerer plass og lagring i Kubernetes -applikasjoner. For det første sletter vi den vanlige tjenesten fra Kubernetes ved å kjøre kommandoen:
> Kubectl slett SVC vanlig tjenesteNår vi kjører denne kommandoen, blir "regelmessig tjeneste" slettet vellykket.
Nå sletter vi den hodeløse tjenesten fra Kubernetes Cluster. Vi kjører Delete-kommandoen ved å legge inn det hodeløse tjenestenavnet “Headless-SVC” i KUBECTL-kommandolinjeverktøyet.
> Kubectl slett SVC Headless-SVCDenne kommandoen avslutter den hodeløse tjenesten fra Kubernetes -klyngen.
Neste trinn er sletting av distribusjoner etter oppsigelse av alle tjenester fra Kubernetes -applikasjoner. Vi kjører kommandoen for å slette distribusjonen av applikasjonen.
> Kubectl Delete Deployment AppSom et resultat kan distribusjonen av applikasjonen enkelt slettes ved hjelp av en kommando.
Til slutt opprettet vi en midlertidig pod i økten ovenfor. Her ser vi også sletting av disse midlertidige belgene fra Kubernetes. Vi kjører kommandoen for sletting:
> Kubectl slett pod midlertidigKubernetes -tjenester og belg ble slettet med hell.
Konklusjon
Hodeløse tjenester er veldig nyttige for håndtering av tjenester i Kubernetes. De hodeløse tjenestene gir oss klynge uten IP. Vi lærte også hvordan vi slettet kjøretjenestene fra Kubernetes når det ikke er behov for disse tjenestene. Du kan også øve på disse eksemplene i søknaden din.