I denne artikkelen vil mulighetene, begrensningene, hvordan du setter opp navneområder, og hvordan du får en liste over navneområder. La oss starte med definisjonen av Kubectl -navneområder.
Hva er kubectl navneområder?
Et Kubectl -navneområde er et objekt i Kubernetes som deler en enkelt fysisk Kubernetes -klynge i flere virtuelle klynger. Hvert navneområde -objekt definerer grensene for navnene som er inkludert i det. Med andre ord, hvert navneområde -objekt i klyngen har en unik identitet som er det grunnleggende objektet og brukes til å skille og administrere Kubernetes -klyngene.
Kubectl -navneområdene brukes til logisk å skille og tildele ressursene til et spesifikt program, team, applikasjon, gruppe av brukere eller enkeltpersoner. Effektiviteten til ressursene kan økes ved hjelp av navneområder fordi en klynge brukes til flere samlinger av arbeidsmengder.
La oss nå komme videre og se hvordan vi får en liste over navnefelt og hvilken forutsetning som må oppfylles.
Forutsetning:
For å bruke navneområdene Kubernetes -objekt, må Minikube -klyngen installeres. I vårt tilfelle, Ubuntu 20.04 brukes til å kjøre navneområdets kommandoer. To forskjellige teknikker brukes til å starte en minikube -klyngeterminal. Den første teknikken er å få tilgang til terminalen ved hjelp av applikasjonslinjen for operativsystem. Den andre teknikken er å få tilgang til terminalvinduet ved å trykke på CTRL+ALT+T.
Etter tilgang til terminalvinduet, start Minikube ved å bruke Minikube Start -kommandoen. Når kommandoen "Minikube Start" utføres, vises følgende utgang:
La oss nå se hvordan og når vi skal bruke Kubectl -navneområdene.
Hvordan du bruker kubectl navneområder?
Kubernetes navnefeltobjekt gir en mekanisme for å adskille ressursgruppen i en klynge. Navnet på hver ressurs må være unikt i et navneområde, men ikke på tvers av navneområdene. Omfanging av navnefelt er imidlertid bare aktuelt for navneområder som tjenester som tjenester og distribusjoner, men ikke for klynge-brede objekter som vedvarende volumer, noder, lagringsklasser, etc.
For å liste opp de eksisterende navneområdene i en klynge 'Kubectl Get Namespace' -kommandoen brukes. Etter å ha utført kommandoen, vil følgende utdata bli generert:
Observer at Kubernetes-objektet starter med fire innledende navnefelt: standard, kube-node-lease, kube-public og kube-system.
Misligholde: Navnområde for objekter uten noe annet objekt.
Kube-node-lease: Det har et leiekontrakt som er assosiert med alle noder.
Kube-Public: Den opprettes automatisk og kan være lesbar av både autentiserte og uauthentiserte brukere.
Kube-System: Det er opprettet av systemet med Kubernetes.
Hvordan du angir navneområdet for en forespørsel?
Flagget '-namesapace' brukes til å angi navneområdet for en forespørsel. Her er koden for å angi navneområdet for en forespørsel:
Etter å ha kjørt kommandoen 'Kubectl Run Nginx', har serveren kastet feilen fordi Nginx Pod allerede eksisterer. La oss imidlertid kjøre Get POD -kommandoen for å få navnefeltet. Kommandoen 'Kubectl Get Pods' utføres for å få navneområdene. Nedenfor kan du se resultatet av Get Pods -kommandoen.
Hvordan du angir preferansene for kubectl navneområder?
Navneområdene for alle påfølgende KUBECTL-kommandoer kan lagres permanent ved å bruke Set-Context-kommandoen. Her er kommandoen for å angi 'standard' namespace -preferanse. Merk at '-namespace = standard' er gitt for å angi KUBECTL-preferanse til standard.
Tilsvarende må "visning" -kommandoen utføres for å se navneområdet. Se koden nedenfor:
Forholdet mellom DNS og navnefelt
Når en tjeneste opprettes, opprettes også den tilsvarende DNS -oppføringen. DNS -oppføringen gir tjenestenavnet, navneområdet og lokal klynge, noe som betyr at hvis en beholder bare bruker tjenestenavnet, vil den koble seg til det lokale klyngenområdet.
Dette blir nyttig mens du distribuerer den samme konfigurasjonen over forskjellige navnefelt som produksjon, iscenesettelse og utvikling. Når brukerne må nå over navnefeltet, må de spesifisere det fullt kvalifiserte domenenavnet (FQDN).
Objekter som ikke er den delen av navneområdet:
Kubernetes -objektet eller ressursene er en del av noe navneområde, jeg.e., Replikeringskontroller, tjenester, pods osv. Imidlertid er navneområdet ikke en del av noe navneområde. Dessuten er de vedvarende volumene, nodene og andre ressursene på lavt nivå ikke en del av noe navneområde.
For å se hvilke ressurser som er i et navneområde og hvilke ressurser som ikke er i noe navneområde, brukes API Resource -kommandoen. Se koden nedenfor.
Når -namespacene er satt til 'True', vil det vise navnene på ressursdelen av et eller annet navneområde. På den annen side, når -namedomene er satt til 'falske', vil det vise navnet på de ressursene som ikke er i noen av navnefeltet. 'Kubectl Api -Resource -Namespace = Namespace Preference' brukes til å se ressursene til navneområdet.
Som du kan observere i ovennevnte utganger, blir de sanne og falske preferansene gitt for å se hvilken ressurs som er i et eller annet navneområde og hvilke som ikke er.
Konklusjon:
Denne artikkelen handler om å håndtere kompliserte systemer som Kubernetes kan være en stor utfordring selv for ekspertbrukere. Sterk kunnskap og kommando av et navneområde kan imidlertid gjøre utfordrende og kompliserte oppgaver mye enklere. Et navneområde er et kraftig verktøy som definerer hierarkiet, ytelsen og sikkerheten til Kubernetes -systemet.