Utsett Kubernetes -tjeneste for en ekstern IP -adresse

Utsett Kubernetes -tjeneste for en ekstern IP -adresse
I denne guiden skal vi lære å eksponere Kubernetes -tjeneste for en ekstern IP -adresse. Det er tre forskjellige måter å eksponere en Kubernetes -tjeneste for en ekstern IP -adresse: Clusterip, NodePort og LoadBalancer. I denne guiden lærer vi hvordan du utsetter Kubernetes -tjenesten for en ekstern IP -adresse ved hjelp av LoadBalancer -metoden.

Forutsetninger:

Du trenger følgende verktøy installert og riktig konfigurert i systemet ditt før du begynner fremover:

  • Kubectl kommandolinjeverktøy
  • Kubernetes Cluster
  • Minikube Cluster
  • Ubuntu 22.04 eller en annen senere versjon installert
  • Skyleverandører som Amazon Web Services, etc

Når du har installert disse verktøyene, er du klar til å eksponere en Kubernetes -tjeneste for en ekstern IP -adresse.

Hvordan kan jeg gjøre en Kubernetes -tjeneste tilgjengelig for eksterne IP -adresser?

Her er en trinn-for-trinns guide for å utsette en Kubernetes-tjeneste for en ekstern IP-adresse.

Trinn 1: Start Minikube

La oss starte med å sette i gang Minikube -klyngen. Det er viktig å starte Minikube -klyngen hver gang du trenger å konfigurere noe eller kjøre applikasjonene dine i Kubernetes -miljøet ditt. Å starte Minikube -klyngen sikrer riktig at Minikube -klyngen er i gang og går og er klar til å utføre søknaden din. Derfor er det bare å bruke kommandoen som er vist nedenfor for å starte Minikube -klyngen:

Kalsoom@Kalsoom-VirtualBox> Start Minikube

Trinn 2: Opprett en distribusjon

I denne guiden utsetter vi Kubernetes -tjenesten for en ekstern IP -adresse ved å bruke en distribusjon. Vi har konfigurasjonen definert i Load-Balancer-Example.YAML -fil som vi vil bruke for å opprette en distribusjon i klyngen. For å opprette distribusjonen, vil vi utføre følgende kommando:

kalsoom@kalsoom -virtualbox> Kubectl Bruk -f https: // k8s.io/eksempler/service/last-balanser-eksemple.Yaml

Som vist ble det generert en utplassering med tittelen Hello-World.

Trinn 3: Bekreft distribusjonen

La oss nå sjekke hva slags distribusjon som er opprettet og tilhørende detaljer. For å bekrefte distribusjonen, vil kommandoen gitt nedenfor bli brukt:

Kalsoom@Kalsoom-VirtualBox> Kubectl Få distribusjoner Hello-World

Denne kommandoen vil vise detaljene i distribusjonen, se utdataene nedenfor:

Som vist, er distribusjonen Hello-World blitt opprettet med et replikasett som inneholder fem pods. Hver av de fem podene vil kjøre Hello-World-applikasjonen. Imidlertid har denne kommandoen vist en kort detalj om distribusjonen, hvis du vil sjekke flere detaljer om distribusjonen, kan du bruke følgende kommando:

Kalsoom@Kalsoom-VirtualBox> Kubectl Beskriv distribusjoner Hello-World

Kommandoen 'Kubectl beskriver' gir en detaljert beskrivelse av distribusjonen som hjelper deg å vite mer om distribusjonen. Se utdataene nedenfor for å få en detaljert beskrivelse av distribusjonen:

Trinn 4: Bekreft replikasettene objekter

Som vi vet, er distribusjonen blitt opprettet med et Replicaset -objekt. Så la oss sjekke detaljene i disse objektene. For å inspisere Replicasets detaljer, kan vi bruke kommandoen som er oppført nedenfor:

Kalsoom@Kalsoom-VirtualBox> Kubectl Få replikasetter

Som vist inkluderer detaljene i replikasettene: navn, ønsket, strøm, klar og alder. Hvis du vil vite mer om replikasettene til distribusjonen, kan du bruke følgende kommando:

Kalsoom@Kalsoom-VirtualBox> Kubectl Beskriv replikasetter

Denne kommandoen vil gi deg de dyptgående detaljene i replikasettene som er tilknyttet Hello-World-distribusjonen, se utdataene gitt i skjermdumpen nedenfor:

Trinn 5: Opprett et tjenesteobjekt for å eksponere distribusjonen

La oss nå avsløre distribusjonen ved å bruke et tjenesteobjekt. Når vi utsetter Kubernetes -tjenesten for en ekstern IP ved hjelp av en distribusjon, trenger vi et serviceobjekt for å avsløre distribusjonen.

Kalsoom@Kalsoom-VirtualBox> Kubectl Expose Deployment Hello-World-Type = LoadBalancer --Name = My-Service

Som du ser, er det to flagg som brukes med kommandoen, -type = LoadBalancer og -navn = My -Service. Det første flagget bestemmer hvilken type balanser og det andre flagget bestemmer navnet på tjenesteobjektet. La oss nå referere til utdataene gitt nedenfor:

Som du kan se i utdataene gitt ovenfor, er et serviceobjekt som heter My-Service blitt utsatt for utsatt.

Trinn 6: Få detaljene i tjenesteobjektet

Neste trinn er å se detaljene i tjenesteobjektet som vi har laget tidligere. Vi kan bruke kommandoen gitt nedenfor for å få detaljene i tjenesteobjektet:

Kalsoom@Kalsoom-VirtualBox> Kubectl Få service my-service

Kommandoen 'Kubectl Get' brukes til å få tilgang til klyngen, pod, node eller noe i Kubernetes -miljøet. Vi prøver å få detaljene i tjenesteobjektet. Så vi har levert "Services" -flagget etterfulgt av tjenesteobjektnavnet My-Service. Se utgangen nedenfor:

Igjen, hvis du trenger å vite mer om tjenesteobjektet, kan du alltid bruke 'Kubectl beskriv' -kommandoen. Den komplette kommandoen er gitt nedenfor for din referanse:

Kalsoom@Kalsoom-VirtualBox> Kubectl Beskriv tjenester My-Service

Etter å ha utført denne kommandoen, får du en lignende utdata som den som er gitt nedenfor:

Fra utgangen over kan du merke at IP -adressen er 10.110.159.180. Porten som brukes er 8080 og NodePort er 30215, mens det ikke er noen endepunkter, og IP -adressen tilhører IPv4 -familien.

Trinn 7: Sjekk podadressen

Nå som vi kjenner detaljene i tjenesteobjektet, kan vi sjekke adressen til belgene som de for øyeblikket kjører Hello-World-applikasjonen. Kommandoen beskrevet nedenfor gjør det enkelt å oppnå dette:

kalsoom@kalsoom -virtualbox> Kubectl Get Pods -output = Wide

Denne kommandoen vil vise oss adressen til belgene som kjører Hello-World-applikasjonen, se utdataene gitt i øyeblikksbildet nedenfor:

Så dette er hvordan du utsetter Kubernetes -tjenester for en ekstern IP -adresse.

Trinn 8: Rydd opp

Etter å ha utsatt Kubernetes -tjenestene for en ekstern IP -adresse, må du sørge for at du sletter tjenesteobjektet sammen med distribusjonen. Dette kan gjøres med følgende kommando:

Kalsoom@Kalsoom-VirtualBox> Kubectl Delete Services My-Service

Med denne kommandoen vil tjenesteobjektet bli fjernet fra klyngen:

For å slette den komplette distribusjonen inkludert belg og replikasett, bruk følgende kommando:

Kalsoom@Kalsoom-VirtualBox> Kubectl Delete Deployment Hello-World

Konklusjon

I denne guiden lærte vi hvordan vi kan eksponere Kubernetes -tjenestene på en ekstern IP -adresse. Ved hjelp av en trinn-for-trinns guide utsatte vi en Kubernetes-tjeneste for en ekstern IP-adresse ved hjelp av en distribusjon. Etter å ha utsatt Kubernetes -tjenesten for en ekstern IP -adresse, utførte vi også en riktig opprydningsprosess.