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 StartTrykk 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 K8bossEtter 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 K8BossRollen 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 K8BossNå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 K8BossTjenestesamlingsnavnet 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 YamlEtter 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 K8BossNå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 = K8BossEtter å 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.SaNå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 K8BossNå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.