Crea ruoli RBAC in Kubernetes

Crea ruoli RBAC in Kubernetes
Questa guida è su ruoli RBAC in Kubernetes. Discuteremo in dettaglio la configurazione RBAC. Usando vari comandi, abbiamo discusso di RBAC sullo strumento di riga di comando Kubectl. Possiamo spiegare visivamente ogni processo collegando gli screenshot con codice o comandi per una migliore comprensione. Questa guida dimostra i ruoli e le responsabilità di RBAC in Kubernetes suddividendo il processo in passaggi diversi. Nelle sezioni seguenti, acquisirai una migliore comprensione dell'intero processo. Quindi, iniziamo la guida con le basi dei ruoli RBAC in Kubernetes.

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> minikube

Premere 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 k8boss

Dopo 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 k8boss

Il 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 k8boss

Quando 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 k8boss

Il 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 yaml

Dopo 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 k8boss

Quando 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 = K8Boss

Dopo 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.sa

Quando 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 K8Boss

Quando 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.