Hvordan lage Kubernetes nettverkspolicyer

Hvordan Lage Kubernetes Nettverkspolicyer



I denne artikkelen vil vi diskutere nettverkspolicyer i Kubernetes. Nettverkspolicyer er svært viktige i Kubernetes. Ved hjelp av nettverkspolicyer spesifiserer vi hvordan poder kommuniserer med hverandre og hvordan vi lager forbindelser mellom poder. Hvis du er ny på dette konseptet, er denne artikkelen for deg. La oss starte artikkelen med en detaljert definisjon av nettverkspolicyer i Kubernetes.

Hva er nettverkspolicyer i Kubernetes?

En nettverkspolicy i Kubernetes beskriver hvordan pod-grupper har tillatelse til å kommunisere med hverandre og andre nettverksendepunkter. Network Policy-ressursen, som spesifiserer hvordan pods har tillatelse til å kommunisere, brukes til å implementere nettverkspolicyer. Du kan sikre klyngen din og administrere trafikkflyten i og mellom podene dine ved å spesifisere finmasket nettverkstilgangskontroll for klyngen din ved å bruke nettverkspolicyer.







Forutsetninger:

Systemet brukeren bruker må være et 64-bits operativsystem. RAM-en til brukeren må være 8 GB eller over 8 GB. Den siste versjonen av Ubuntu er installert i brukersystemet. Windows-brukeren bruker også Linux-operativsystemet praktisk talt på systemet sitt. Brukeren må ha en ide om Kubernetes, kommandolinjeverktøyet kubectl, pods og klynge som ble kjørt i systemet vårt i forrige økt.



Trinn 1: Start et Kubernetes-kontrollpanel

I dette trinnet kjører vi Kubernetes i systemet vårt for å starte nettverkspolicyoperasjonen perfekt. Vi starter minikube i systemet vårt ved å bare kjøre kommandoen. Minikube er en Kubernetes-klynge som kjører på den lokale maskinen. Kommandoen for å starte minikube er:



> start minikube



Når kommandoen er utført starter minikube riktig i systemet vårt. Nå kan vi enkelt utføre handlingene våre knyttet til nettverkspolicyer effektivt i systemet vårt.





Trinn 2:  Opprett en Nginx-implementering i Kubernetes

I dette trinnet lærer vi hvordan du oppretter en distribusjon av Nginx i vårt Kubernetes-system. Vi utfører den gitte kommandoen i kommandolinjeverktøyet kubectl. Kommandoen er:

> kubectl opprette distribusjonseksempel - - image = nginx



Ved kjøring av kommando blir distribusjonen opprettet i appmappen i Kubernetes-applikasjonen vår. Nginx-bildet er riktig distribuert i systemet vårt. Utrullingen vil sikre at det angitte antallet replikaer av poden kjører til enhver tid, ved å opprette eller slette replikaer etter behov. Det vil også tillate oss å oppdatere containerbilder i en rullende oppdatering i vårt Kubernetes-system perfekt.



Trinn 3:  Eksempel på distribusjon på en spesifikk port i Kubernetes

I dette trinnet vil vi nå avsløre prøven som nylig prøver å distribuere på systemet på en bestemt port. Vi kjører kommandoen:

> kubectl eksponere distribusjonseksempel - - port = 80



Når kommandoen utføres, blir distribusjonseksemplet eksponert på port 80 med suksess i vår Kubernetes-applikasjon. Kubernetes API-serveren vil motta en forespørsel fra denne kommandoen om å opprette tjenesten. API-serveren vil da opprette tjenesten i klyngen. Den har en stabil IP-adresse og DNS-navn. Tjenesten fungerer som en belastningsbalanser for pods i distribusjonen, og fordeler innkommende trafikk jevnt mellom dem. Denne kommandoen gir oss et stabilt nettverksendepunkt for podene, slik at de kan nås selv om IP-adressene deres erstattes.

Trinn 4: Verv Services Pod i Kubernetes

Etter utplasseringen av prøven i systemet, vil vi få listen over kjørende tjenester i Kubernetes. For å hente informasjon om alle pods i klyngen, kjører vi kommandoen:

> kubectl få svc, pod



Når vi utførte kommandoen, vises tjenestelisten på utgangen. Eksemplet i tjenester vises i listen. Navnet, typen, Custer-IP, ekstern IP, PORTER og alder på pods og tjenester vises perfekt gjennom denne kommandoen. 'Tjenesten/prøven' har portnummeret '80', IP-en til klyngen er '10.105.250.227'.

Trinn 5: Lag Network Policy Ngnix i Kubernetes

I dette trinnet vil vi lage en Nginx-fil som vi oppretter en nettverkspolicy gjennom i Kubernetes-applikasjonen vår. Vi vil lage en nettverkspolicy og deretter distribuere en nettverkspolicy i Kubernetes enkelt ved hjelp av kubectl-kommandoen. Kommandoen er:

> kubectl gjelder -f https: // k8s.io / eksempler / service / nettverk / ngnix-policy.yaml



I kommandoen legger vi til en lenke til policynettverksfilen og gir navnet på filen 'Nginx-policy'. Utvidelsen av nettverkspolicyfilen er 'YAML'. Når denne kommandoen utføres, eksisterer nettverkspolicymappen allerede i systemet vårt der access-ngnix YAML-filen er opprettet. Konfigurasjonsfilen som brukes med denne kommandoen, er for Kubernetes-tjenesteobjektet, som viser et sett med pods som nettverkstjenester.

Trinn 6:  Opprett og kjør en ny pod i Kubernetes

I dette trinnet skal vi bygge en ny pod i en Kubernetes-klynge. Denne poden vil kjøre en beholder basert på busybox:1.28 og ha et docker-bilde. Vi vil utføre '/bin/sh'-kommandoen på kubectl-kommandolinjeverktøyet.

> kubectl kjøre busybox   - - rm - ti    - - image = busybox : en . 28 -- / bin / sh

Kommandoen 'kubectl run' oppretter en distribusjon i klyngen, som er ansvarlig for å administrere et sett med replikaer av poden. Et replikasett og en pod vil automatisk bli opprettet av distribusjonen for beholderen.

Konklusjon

Ved hjelp av nettverkspolicy kan vi enkelt lage forbindelser mellom ulike pods og containere. Du kan også redigere disse kommandoene i henhold til dine Kubernetes-applikasjonskrav, noe som vil hjelpe deg med å få en bedre forståelse av dette emnet. Nettverkssamarbeidet mellom alle pods er veldig viktig og fordelaktig for pods metadata.