Qual è il ruolo di RBAC in Kubernetes?
Il controllo di accesso basato sul ruolo è indicato come RBAC in Kubernetes. In Kubernetes, il metodo RBAC (Based Access Control) crea regole di controllo dell'accesso che specificano a quali utenti possono accedere a quali risorse in un cluster. RBAC è implementato da ruoli e legami di ruolo. In Kubernetes, i ruoli RBAC integrati sono clusterrole, ruolo e ServiceACCOUNT. Il ruolo del cluster può essere distribuito in tutto il cluster. Il ruolo noto come ruolo può essere assegnato uno spazio dei nomi. Ogni account di servizio in uno spazio dei nomi ha un ruolo interno definito automaticamente.
Prerequisiti
L'ultima versione di Ubuntu è installata nel sistema e installata nella casella virtuale nel sistema, quindi esegue una versione di supporto Ubuntu sulla scatola virtuale parallela al sistema operativo Windows. Il sistema utente è un sistema operativo a 64 bit che esegue entrambi i sistemi operativi in modo efficiente. Dopo l'installazione del sistema operativo, l'utente deve avere un'idea di kubernetes, riga di comando Kubectl e file YAML o pod e l'utente deve avere un'idea di cluster in Kubernetes.
Spiegiamo il processo passo dopo passo qui.
Passaggio 1: Avvia il cluster Kubernetes
In questo passaggio, inizieremo i Kubernetes eseguendo un minikube. Minikube è cluster in un kubernetes che funziona sulla macchina locale. Eseguiamo il comando per avviare minikube:
kalsoom@kalsoom-virtualbox> minikubePremere Invio e il minikube viene avviato dopo che il comando è stato eseguito correttamente. Come mostrato nello screenshot indicato qui:
Inizia 2: crea uno spazio dei nomi in Kubernetes
In questo passaggio, creeremo uno spazio dei nomi in Kubernetes usando la riga di comando Kubectl. Eseguiamo il comando:
kalsoom@kalsoom-virtualbox> kubectl crea namespace k8bossDopo l'esecuzione del comando, uno spazio dei nomi con il nome K8Boss viene creato correttamente nella nostra applicazione Kubernetes. Possiamo utilizzare uno spazio dei nomi per separare le risorse all'interno del cluster e gestire l'accesso a tali risorse utilizzando RBAC.
Passaggio 3: creare un ruolo personalizzato RBAC in Kubernetes
In questo passaggio, creeremo facilmente un ruolo personalizzato in Kubernetes con l'aiuto del comando. Eseguiamo il comando:
kalsoom@kalsoom -virtualbox> kubectl crea ruolo my -custom -role - - verb = elenco - - risorsa = pods - - spazio dei nomi k8bossIl ruolo viene creato correttamente dopo l'esecuzione del comando. In questo caso, è stato creato un nuovo ruolo con un nome e un'autorità particolare nello spazio dei nomi K8Boss.
Passaggio 4: descrivi verbi e risorse nel ruolo
In questo passaggio, impareremo come descriviamo i verbi e le risorse in ruoli come definito nel passaggio sopra.
kalsoom@kalsoom -virtualbox> kubectl crea ruolo my -custom -role - - verb = elenco - - verb = get - - risorsa = pods - - risorsa = servizi - - spazio names k8bossQuando eseguiamo il comando, visualizza l'output che il ruolo viene creato con verbi e risorse. Nel nostro caso, creiamo il ruolo. Quindi, viene visualizzato un messaggio di errore.
Passaggio 5: crea un ruolo di account di servizio in Kubernetes
In questo passaggio, discuteremo del ruolo dell'account del servizio in Kubernetes. Eseguimo il comando per creare un account di servizio:
kalsoom@kalsoom-virtualbox> kubectl crea serviceaccount custom-sa -n k8bossIl nome del servizio ACCCOUNT AS 'Custom-SA' viene creato correttamente in Kubernetes dopo l'esecuzione del comando. I processi interni del cluster di Kubernetes possono essere concessi l'autorizzazione autenticandoli con l'aiuto dell'account di servizio, che funge anche da mezzo per farlo.
Passaggio 6: recupero i dettagli del ruolo dell'account del servizio
In questo passaggio, vogliamo ottenere l'elenco dei ruoli dell'account di servizio in RBAC Kubernetes e il nome dell'account di servizio è "SAS-SA" nello spazio dei nomi "K8Boss". Eseguiamo il comando qui:
kalsoom@kalsoom -virtualbox> kubectl ottieni sa personalizzato -sa -n k8boss -o yamlDopo l'esecuzione, questo comando ci restituisce un pod in cui le informazioni sull'account di servizio sono archiviate come tipo, metadati, nome, spazio dei nomi, risorse, ecc.
Passaggio 7: controlla l'elenco del ruolo dell'account del servizio
In questo passaggio, verificheremo se l'account di servizio ha il verbo dell'elenco sul pod. Se l'account del servizio ha le autorizzazioni necessarie, il comando restituisce un valore di "sì"; Altrimenti restituisce un valore di "no". Eseguiamo il comando per controllare lo stato:
kalsoom@kalsoom -virtualbox> kubectl auth can -i elenco pods - -as = system: serviceaccount: k8boss: custom -sa -n k8bossQuando viene eseguito il comando, mostra che l'output è "no" come mostrato nello screenshot sopra, il che significa che l'account di servizio non ha l'autorizzazione necessaria. Qui, viene utilizzato kubectl 'can -i' per verificare l'autorizzazione concessa al conto del servizio.
Passaggio 8: creare un ruolo di legame di ruolo in RBAC Kubernetes
In questo passaggio, discuteremo di vincolo del ruolo in Kubernetes. Eseguiamo il comando:
kalsoom@kalsoom-virtualbox> kubectl crea il ruolo di binding my-custom-role--Role = my-custom-role--ServiceACCount = K8BossDopo aver eseguito il comando, il ruolo di legame con il nome "my-custom-rhole-binding" viene creato correttamente come visto nello screenshot sopra attaccato che lega il ruolo all'account di servizio "K8Boss". Il ruolo vincolante garantirà le autorizzazioni definite nel ruolo del conto del servizio, consentendole di eseguire determinate azioni all'interno del cluster.
Passaggio 9: creare un cluster di legame di ruolo nel cluster Kubernetes
In questo passaggio, creiamo un cluster legante i ruoli con l'aiuto della riga di comando Kubectl. Eseguiamo il comando:
kalsoom@kalsoom-virtualbox> kubectl crea clusterrolebinding my-clusterrole-binding--clusterrole = my-custer-role--serviceaccount = k8boss: personalizzato.saQuando viene eseguito il comando, viene creata l'associazione del ruolo del cluster alla volta. Utilizzando questo comando, un ruolo di cluster può essere allegato al conto di servizio di un particolare spazio dei nomi.
Passaggio 10- Controllare l'autorizzazione per i baccelli
In questo, controlliamo l'autorizzazione per l'account di servizio nello spazio dei nomi K8Boss. Eseguiamo il comando:
kalsoom@kalsoom -virtualbox> kubectl auth can -i elenco pods - - as = system.ServiceAcount: K8Boss: Cutom -SA -N K8BossQuando viene eseguito il comando, restituisce un output sì. Significa che questo pod ha il permesso di eseguire un'azione specifica in Kubernetes.
Conclusione
Abbiamo appreso i diversi ruoli di RBAC in Kubernetes. Abbiamo menzionato informazioni su ciò che è RBAC e su come questo concetto viene utilizzato in Kubernetes. Tutte le informazioni sono presentate in dettaglio e lo screenshot pertinenti sono anche. Puoi praticare ruoli RBAC nella tua applicazione con esempi per una migliore comprensione.