Du lærer hvordan du endrer et standard navneområde i Kubectl i dette innlegget. Alle Kubernetes ressurser er organisert i navnefelt, og navnefelt lar deg skille bekymringer for ressurser som deles av forskjellige prosjekter. Hvis navneområdet ikke er spesifisert, produseres alle ressurser i standard navneområdet, og dette gjelder alle instruksjoner rettet mot klyngen din. Hvis -n -argumentet ikke brukes til et navneområde i en Kubectl -kommando, vil Kubernetes gi produksjon fra ressurser i standardnavnet.
Navneområder er en Kubernetes -funksjon som lar deg dele grupperinger av ressurser i en klynge. Innen et navneområde må ressursnavnene være unike, men ikke mellom navneområder. Navneområdebasert scoping er bare aktuelt for navneområder (for eksempel distribusjoner og tjenester), ikke for å klynge brede objekter (e.g., StorageClass, noder, PersistentVolumer, etc.).
"Standard" navneområdet
Utenfor boksen inkluderer de fleste Kubernetes -utgivelser et navneområde kalt "standard" i klyngen. Det er tre navnefelt i Kubernetes: standard, kube-system og kube-public. Kube-Public brukes ikke veldig ofte akkurat nå, og kube-system blir vanligvis ignorert, spesielt i et regulert system som Google Kubernetes Engine (GKE). Som et resultat vil standard navneområdet bli brukt til å opprette dine tjenester og apper. Det er ikke noe bemerkelsesverdig med dette navneområdet annet enn at Kubernetes -verktøyet er konfigurert til å bruke det ut av boksen og at du ikke kan slette det. Det er utmerket for å komme i gang og for mindre produksjonssystemer, men det er ikke egnet for større. Dette skyldes det faktum at det er ganske enkelt for et team å utilsiktet overskrive eller forstyrre en annen tjeneste uten å gjenkjenne det. Del i stedet tjenestene dine i fordøyelige biter ved å lage flere navneområder.
Før du fortsetter:
For å begynne med, lanser Minikube -klyngen, som allerede er installert på Ubuntu 20.04 LTS -operativsystem. For å kjøre Minikube, skriv inn den vedlagte kommandoen i kommandolinjen:
$ Minikube Start
Se navneområder
Du kan få en liste over alle navnefelt i en klynge ved å skrive følgende kommando.
Hvis et element ikke har noe annet navneområde, er dette standard navneområdet. Kube-System-navneområdet inkluderer objekter som er spesielt designet av Kubernetes-systemet. På den annen side eksisterer Kube-Public Namespace automatisk og er tilgjengelig for alle typer brukere. Dette navneområdet er til klyngebruk hvis noen ressurser må være offentlig tilgjengelige og lesbare over hele klyngen. Dette navnefeltets offentlige aspekt er bare en anbefaling, ikke et mandat. Leieobjekter koblet til hver node lagres i kube-node-lease navneområdet. Kubelet kan kringkaste hjerteslag til kontrollplanet via node -leiekontrakter, slik at kontrollplanet kan oppdage nodesvikt.
Definere et forespørsels navneområde
Husk at -namespace -parameteren er spesielt brukt til å angi navneområdet for en gjeldende forespørsel.
Ved hjelp av kommandoen nedenfor kan du få en liste over alle pods fra et visst navneområde.
Velge et foretrukket navneområde
For ytterligere Kubectl -kommandoer i den sammenhengen, kan du lagre navneområdet permanent.
Denne kommandoen vil vise navneområdet som for øyeblikket blir brukt.
Ikke alle objekter har et navneområde
Pods, tjenester, replikeringskontrollere og andre Kubernetes -ressurser er alle organisert i navnefelt. Navneområdet ressurser derimot er ikke inneholdt i et navneområde. Noder og vedvarende volumer er ressurser på lavt nivå som ikke er i noe navneområde. For å se hvilke Kubernetes -ressurser som brukes i et navneområde, se kommandoen nedenfor:
Benytt deg av følgende kommando for å se hvilke Kubernetes -ressurser som ikke brukes i et navneområde:
DNS -navneområder
En DNS -oppføring opprettes for en tjeneste når den opprettes. Denne oppføringsformatet er . Hvis en container utelukkende bruker servicenavn>, vil den løse en navneområde-lokal tjeneste, ifølge SVC.klynge.lokal. Hvis du vil bruke den samme konfigurasjonen i flere navnefelt, for eksempel iscenesettelse, utvikling og produksjon, ville dette være kritisk. Du må bruke det fullt kvalifiserte domenenavnet hvis du vil nå på tvers av navneområder.
Når skal du bruke flere navneområder?
Navnområder er designet for situasjoner med et stort antall brukere spredt over flere team eller prosjekter. Du trenger ikke å bygge eller tenke på navnefelt for klynger med noen få titalls brukere. Når du trenger funksjonalitetene som navneområder gir, kan du begynne å bruke dem.
Navneområder gir navn for et sted å gå. Innen et navneområde må ressursnavnene være unike, men ikke mellom navneområder. Navneområder er et middel for mange brukere å dele klyngressurser, og de skiller ressurser som har samme navneområde.
Konklusjon
Du lærte hvordan du endrer standard Kubernetes navneområde ved hjelp av KUBECTL -kommandolinjen i dette innlegget. Standard navneområde er tilordnet standardnavnet når du oppretter en AKS eller Local Kubernetes Cluster. Hvis alle arbeidsmengdene dine ikke er i standardnavnet, kan dette være et problem.