Lag RBAC -roller i Kubernetes

Lag RBAC -roller i Kubernetes
Denne guiden er på RBAC -roller i Kubernetes. Vi vil diskutere RBAC -konfigurasjon i detalj. Ved hjelp av forskjellige kommandoer diskuterte vi RBAC på KUBECTL -kommandolinjeverktøyet. Vi kan forklare hver prosess visuelt ved å knytte skjermbilder med kode eller kommandoer for bedre forståelse. Denne guiden demonstrerer rollene og ansvaret til RBAC i Kubernetes ved å dele opp prosessen i forskjellige trinn. I de følgende seksjoner vil du få en bedre forståelse av hele prosessen. Så la oss starte guiden med det grunnleggende om RBAC -roller i Kubernetes.

Hva er RBACs rolle i Kubernetes?

Rollbasert tilgangskontroll blir referert til som RBAC i Kubernetes. I Kubernetes oppretter den rollebaserte Access Control (RBAC) -metoden regler for tilgangskontroll som spesifiserer hvilke brukere som kan få tilgang til hvilke ressurser i en klynge. RBAC implementeres av roller og rollebindinger. I Kubernetes er de innebygde RBAC-rollene klynge, rolle og serviceaccount. Klyngerollen kan distribueres over hele klyngen. Rollen kjent som rollen kan få et navneområde. Hver tjenestekonto i et navneområde har en intern rolle automatisk definert for det.

Forutsetninger

Den siste versjonen av Ubuntu er installert i systemet ditt og installert i den virtuelle boksen i systemet kjører deretter en Ubuntu -støttende versjon på den virtuelle boksen parallelt med Windows -operativsystemet. Brukersystemet er et 64-biters operativsystem som kjører begge operativsystemene effektivt. Etter installasjon av operativsystemet må brukeren ha en ide om Kubernetes, Kubectl -kommandolinjen og YAML -filer eller pods, og brukeren må ha en ide om klynger i Kubernetes.

La oss forklare prosessen trinn for trinn her.

Trinn 1: Start Kubernetes Cluster

I dette trinnet starter vi Kubernetes ved å kjøre en Minikube. Minikube er klynge i en Kubernetes som kjører på den lokale maskinen. Vi kjører kommandoen for å starte Minikube:

Kalsoom@Kalsoom-VirtualBox> Minikube Start

Trykk Enter og Minikube startes etter at kommandoen er utført med hell. Som vist på det gitte skjermbildet her:

Start 2: Lag et navneområde i Kubernetes

I dette trinnet vil vi lage et navneområde i Kubernetes ved hjelp av KUBECTL -kommandolinjen. Vi kjører kommandoen:

Kalsoom@Kalsoom-VirtualBox> Kubectl Lag namespace K8boss

Etter utførelse av kommandoen opprettes et navneområde med navnet K8Boss med hell i Kubernetes -applikasjonen vår. Vi kan bruke et navneområde for å skille ressursene i klyngen og administrere tilgang til disse ressursene ved hjelp av RBAC.

Trinn 3: Lag en RBAC tilpasset rolle i Kubernetes

I dette trinnet vil vi enkelt lage en tilpasset rolle i Kubernetes med hjelp av kommando. Vi kjører kommandoen:

kalsoom@kalsoom -virtualBox> Kubectl Lag rolle My -Custom -Role - - Verb = List - - Ressurs = PODS - - Navneområde K8Boss

Rollen skapes vellykket etter utførelse av kommandoen. I dette tilfellet ble en ny rolle med et bestemt navn og autoritet opprettet i K8boss -navneområdet.

Trinn 4: Beskriv verb og ressurser i rollen

I dette trinnet lærer vi hvordan vi beskriver verb og ressurser i roller som definert i trinnet over.

kalsoom@kalsoom -virtualBox> Kubectl Lag rolle My -Custom -Role - - Verb = List - - Verb = Get - - Ressurs = Pods - - Ressurs = Services - - Namespace K8Boss

Når vi utfører kommandoen, viser den output at rollen skapes med verb og ressurser. I vårt tilfelle skaper vi rollen. Så en feilmelding vises.

Trinn 5: Opprett en servicekontorolle i Kubernetes

I dette trinnet vil vi diskutere servicekontorollen i Kubernetes. Vi kjører kommandoen for å opprette en tjenestekonto:

Kalsoom@Kalsoom-VirtualBox> Kubectl Create ServiceAccount Custom-Sa -n K8Boss

Tjenestesamlingsnavnet som 'Custom-SA' er opprettet med suksess i Kubernetes etter utførelse av kommandoen. Kubernetes Cluster sine interne prosesser kan tildeles autorisasjon ved å autentisere dem ved hjelp av tjenestekontoen, som også fungerer som et middel til å gjøre det.

Trinn 6: Hent detaljer i tjenestekontorollen

I dette trinnet ønsker vi å få listen over tjenestekontoer i RBAC Kubernetes, og navnet på tjenestekontoen er 'Custom-SA' i navneområdet 'K8Boss'. Vi kjører kommandoen her:

Kalsoom@Kalsoom -VirtualBox> Kubectl Get SA Custom -Sa -n K8Boss -o Yaml

Etter utførelse returnerer denne kommandoen oss en pod der informasjon om tjenestekontoen er lagret som slag, metadata, navn, navneområde, ressurser osv.

Trinn 7: Sjekk listen over tjenestekontorollen

I dette trinnet vil vi sjekke om tjenestekontoen har listeverbet på POD. Hvis tjenestekontoen har nødvendige tillatelser, returnerer kommandoen en verdi av 'ja'; ellers returnerer det en verdi av 'nei'. Vi kjører kommandoen for å sjekke statusen:

Kalsoom@Kalsoom -VirtualBox> Kubectl Auth Can -I List Pods - -AS = System: Serviceaccount: K8Boss: Custom -Sa -n K8Boss

Når kommandoen blir utført, viser den at utgangen er 'nei' som vist på skjermdumpen ovenfor, noe som betyr at tjenestekontoen ikke har nødvendig tillatelse. Her brukes Kubectl 'Can -i' for å sjekke tillatelsen som er gitt til tjenestekontoen.

Trinn 8: Lag en rollebindende rolle i RBAC Kubernetes

I dette trinnet vil vi diskutere rollebinding i Kubernetes. Vi kjører kommandoen:

Kalsoom@Kalsoom-VirtualBox> Kubectl Create RoleBinding My-Custom-Role-Binding--Rolle = My-Custom-Role--ServiceacCount = K8Boss

Etter å ha kjørt kommandoen, opprettes rollebinding med navnet 'My-Custom-Role-Binding' med suksess som sett i ovennevnte skjermbilde som binder rollen til tjenestekontoen 'K8Boss'. Rollen binding vil gi tillatelsene som er definert i rollen til tjenestekontoen, slik at den kan utføre visse handlinger i klyngen.

Trinn 9: Lag en rollebindende klynge i Kubernetes-klyngen

I dette trinnet lager vi en rollebindende klynge ved hjelp av KUBECTL-kommandolinjen. Vi kjører kommandoen:

Kalsoom@Kalsoom-VirtualBox> Kubectl Lag clusterroleBinding My-Custom-Clusterrole-Binding--Clusterrole = My-Custom-Cluster-Role--ServiceAccount = K8Boss: Custom.Sa

Når kommandoen utføres, opprettes klyngestrollebinding om gangen. Ved hjelp av denne kommandoen kan en klyngrolle knyttes til et bestemt navnefeltets tjenestekonto.

Trinn 10- Kontroller tillatelsen for belg

I dette sjekker vi tillatelsen for tjenestekontoen i navneområdet K8boss. Vi kjører kommandoen:

Kalsoom@Kalsoom -VirtualBox> Kubectl Auth Can -I List Pods - - AS = System.ServiceAcount: K8Boss: Cutom -Sa -n K8Boss

Når kommandoen blir utført, returnerer den en utgang ja. Det betyr at denne pod har tillatelse til å utføre en spesifikk handling i Kubernetes.

Konklusjon

Vi lærte om de forskjellige rollene til RBAC i Kubernetes. Vi har nevnt informasjon om hva som er RBAC og hvordan dette konseptet brukes i Kubernetes. All informasjonen presenteres i detalj og relevante skjermbilder er også. Du kan øve på RBAC -roller i applikasjonen din med eksempler for bedre forståelse.