Hva er de forskjellige typene tjenester i Kubernetes?

Hva er de forskjellige typene tjenester i Kubernetes?
En tjeneste i Kubernetes er en abstraksjon som beskriver en samling konseptuelle pods der en applikasjon kjører og en tilgangspolitikk for denne typen pods. Hvis en pod må koble seg til en annen pod, må den først bestemme IP -adressen. Kubernetes -tjenestene gir også en måte å finne visse belg. POD IP -adresser er abstrakte i Kubernetes nettverksmodell; Hvis en pod bryter eller blir ødelagt, vil en ny pod nesten helt sikkert skaffe en ny IP -adresse. En tjeneste i Kubernetes gir ofte tilgang til nettverket til en pod eller gruppe av pods. Tjenester vil velge belg avhengig av navn, og når etterspørselen etter nettverk blir sendt til slike tjenester, vil det identifisere alle pods i klyngen som passer til tjenestens etikett, velg en av dem og deretter sendte nettverksforespørselen til den.

Kategorier av Kubernetes -tjenester

Kubernetes -tjenester er delt inn i fire grunnleggende kategorier:

Clusterip
I Kubernetes er clusterip -tjenesten faktisk standardform for tjeneste. Det gir en tjeneste i Kubernetes -klyngen som andre Kubernetes -apper kan administrere uten å gi tilgang utenfra. Det er en IP -adresse som Kubernetes -klyngen og alle tjenestene kan bruke internt. I motsetning til POD IP -adressen, er IP -adressen som brukes i klyngen ikke tilgjengelig utover klyngen.

Nodeport
Hver node i klyngen din har en åpen port kalt en nodeport. Selv om appen din kjører på en annen node, ruter Kubernetes enkelt trafikk fra nodeporten til tjenesten. Hver Kubernetes -klynge godtar NodePort, men du må endre brannmurene dine hvis du bruker en skytjenesteleverandør som Google Cloud.

LoadBalancer
En LoadBalancer er en populær måte å introdusere en Kubernetes -tjeneste for omverdenen gjennom Internett. LoadBalancer kan brukes på en lignende måte som klynge og nodeport.Klyngen vil nærme seg skyleverandøren og bygge en belastningsbalanse hvis du velger LoadBalancer som tjenestekategori. Trafikk vil bli omdirigert til backend -pods når den kommer til denne belastningsbalansen. Opplysningene om denne metoden bestemmes av hvordan hver belastningsbalanseringsleverandør implementerer teknologien.

Eksternavn
Siden eksternt navnstjenester ikke har noen velgere eller faste porter eller endepunkter, kan de omdirigere trafikk til en utenforstående tjeneste. Dette skjemaet forbinder tjenesten med det eksterne navn feltets elementer. Det fullfører dette ved å returnere rekordverdien til et CNAME.

Lag en distribusjon sammen med tjenesten

En Kubernetes -distribusjon overvåker podens helse og om nødvendig tilbakestiller podens beholder. Distribusjoner er metoden for å håndtere pod -formasjon og skalering. Så for å administrere en pod, skal vi lage en distribusjon. For dette formålet, la oss åpne terminalen til Ubuntu 20.04 LTS -operativsystem. Du kan bruke applikasjonsområdet eller snarveisnøkkelen til dette formålet. Forsikre deg om at du har installert Minikube i systemet ditt.

Utfør kommandoen nedenfor for å starte Minikube.

$ Minikube Start

I utgangen av denne kommandoen vil du se versjonen av Minikube. Etter denne kommandoen, må du åpne Minikube-dashbordet ved hjelp av denne nedenfor-børsnoterte kommandoen.

$ Minikube Dashboard

Nå er vi alle klare til å opprette en distribusjon ved hjelp av Create Command. Du må skrive den nedenfor-appen som vist i terminalen.

Du kan se at Hello -noden er opprettet. Hvis du vil se distribusjonene, kan du enkelt gjøre dette ved å kjøre den siterte kommandoen.

$ kubectl få distribusjoner

I utgangen kan du se den grunnleggende informasjonen relatert til en allerede opprettet distribusjon. Du kan se poden ved utførelsen av denne kommandoen:

$ kubectl få pods

I den nedenfor-vendte utgangen kan du enkelt se all relevant informasjon relatert til de listede belgene. Hvis du vil liste opp klyngehendelsene, kan du bruke følgende grunnleggende kommando for dette formålet.

$ kubectl få arrangementer

Nå kan du se KUBECTL-konfigurasjonen ved å bruke kommandoen nedenfor:

$ Kubectl Config View

Inne i Kubernetes -klyngen ville poden bare være tilgjengelig av sin indre IP -adresse. Det ville være best å eksponere Hello-Node Container som en Kubernetes-tjeneste for å gjøre den tilgjengelig utover Kubernetes Virtual Network. Nå skal vi eksponere poden ved å bruke kommandoen nedenfor. Du kan også se at -Type = LoadBalancer som vil avsløre den relaterte tjenesten utenfor klyngen.

Nå er det på tide å se den opprettede tjenesten. Så for dette formålet kan du bruke kommandoen nedenfor. Utgangen skal være lik den som vises i det vedlagte bildet.

$ Kubectl Få tjenester

For å se Hello Node Service Information, kan du bruke følgende vist kommando sammen med Minikube -nøkkelordet.

$ Minikube Service Hello-Node

Du kan se at nettadressen også vises i vedlagte skjermbilde sammen med målporten. Heldigvis vil tjenesten være åpen i nettleseren til operativsystemet ditt. Du kan sjekke at serviceinformasjonen vises i systemets nettleser.

Konklusjon

I denne guiden har vi utdypet begrepet tjenester i Kubernetes sammen med de forskjellige kategoriene. Vi har også forklart et grunnleggende eksempel for å lage distribusjon sammen med relevant tjeneste. Ved å lese og implementere denne ovennevnte guiden, håper jeg at du enkelt kan forstå konseptet Kubernetes -tjenester og dens skapelse.