Crear papeles RBAC en Kubernetes

Crear papeles RBAC en Kubernetes
Esta guía está en roles RBAC en Kubernetes. Discutiremos la configuración de RBAC en detalle. Usando varios comandos, discutimos RBAC en la herramienta de línea de comandos Kubectl. Podemos explicar cada proceso visualmente adjuntando capturas de pantalla con código o comandos para una mejor comprensión. Esta guía demuestra los roles y responsabilidades de RBAC en Kubernetes al dividir el proceso en diferentes pasos. En las siguientes secciones, obtendrá una mejor comprensión de todo el proceso. Entonces, comencemos la guía con los conceptos básicos de los roles RBAC en Kubernetes.

¿Cuál es el papel de RBAC en Kubernetes??

El control de acceso basado en roles se conoce como RBAC en Kubernetes. En Kubernetes, el método de control de acceso basado en roles (RBAC) crea reglas de control de acceso que especifican a qué usuarios pueden acceder a qué recursos en un clúster. RBAC se implementa por roles y enlaces de roles. En Kubernetes, los roles RBAC incorporados son ClusterRole, Role y ServiceCcount. El papel del clúster se puede distribuir en todo el clúster. El papel conocido como el papel se le puede dar un espacio de nombres. Cada cuenta de servicio en un espacio de nombres tiene un papel interno definido automáticamente para ella.

Requisitos previos

La última versión de Ubuntu se instala en su sistema y se instala en el cuadro virtual del sistema, luego ejecuta una versión de soporte de Ubuntu en el cuadro virtual paralelo al sistema operativo Windows. El sistema de usuario es un sistema operativo de 64 bits que ejecuta ambos sistemas operativos de manera eficiente. Después de la instalación del sistema operativo, el usuario debe tener una idea de Kubernetes, la línea de comandos Kubectl y los archivos o vainas YAML y el usuario debe tener una idea de grupos en Kubernetes.

Expliquemos el proceso paso a paso aquí.

Paso 1: Iniciar clúster de Kubernetes

En este paso, comenzaremos los Kubernetes ejecutando un minikube. Minikube es un clúster en un Kubernetes que se ejecuta en la máquina local. Ejecutamos el comando para iniciar minikube:

kalsoom@kalsoom-virtualbox> Minikube Start

Presione ENTER y el minikube se inicia después de que el comando se ejecuta correctamente. Como se muestra en la captura de pantalla dada aquí:

Inicio 2: cree un espacio de nombres en Kubernetes

En este paso, crearemos un espacio de nombres en Kubernetes utilizando la línea de comandos Kubectl. Ejecutamos el comando:

kalsoom@kalsoom-virtualbox> kubectl Crear espacio de nombres K8Boss

Después de la ejecución del comando, un espacio de nombres con el nombre K8Boss se crea correctamente en nuestra aplicación Kubernetes. Podemos usar un espacio de nombres para separar los recursos dentro del clúster y administrar el acceso a esos recursos utilizando RBAC.

Paso 3: Cree un papel personalizado RBAC en Kubernetes

En este paso, crearemos un papel personalizado en Kubernetes fácilmente con la ayuda del comando. Ejecutamos el comando:

kalsoom@kalsoom -virtualbox> kubectl Crear rol My -Custom -Rol - - Verb = list - - recurse = pods - - Namespace K8Boss

El rol se crea con éxito después de la ejecución de comandos. En este caso, se creó un nuevo papel con un nombre y autoridad particular en el espacio de nombres K8Boss.

Paso 4: Describa verbos y recursos en el papel

En este paso, aprenderemos cómo describimos los verbos y los recursos en los roles como se define en el paso anterior.

kalsoom@kalsoom -virtualbox> kubectl Crear rol My -Custom -Role - - Verb = list - - verb = get - - resource = pods - - recursos = servicios - - espacio de nombres k8boss

Cuando ejecutamos el comando, muestra el resultado que se crea ese rol con verbos y recursos. En nuestro caso, creamos el papel. Entonces, se muestra un mensaje de error.

Paso 5: Cree un papel de cuenta de servicio en Kubernetes

En este paso, discutiremos el papel de la cuenta de servicio en Kubernetes. Ejecutaremos el comando para crear una cuenta de servicio:

kalsoom@kalsoom-virtualbox> Kubectl Crear serviceAccount Custom-SA -N K8Boss

El nombre de servicio de servicio como 'Custom-SA' se crea correctamente en Kubernetes después de la ejecución de comandos. Los procesos internos del clúster de Kubernetes se pueden otorgar autorización autenticándolos con la ayuda de la cuenta de servicio, que también sirve como un medio para hacerlo.

Paso 6: Obtener detalle del rol de cuenta de servicio

En este paso, queremos obtener la lista de roles de cuenta de servicio en RBAC Kubernetes y el nombre de la cuenta de servicio es 'personalizado' en el espacio de nombres 'K8Boss'. Ejecutamos el comando aquí:

kalsoom@kalsoom -virtualbox> kubectl get sa personalizado -sa -n k8boss -o yaml

Después de la ejecución, este comando nos devuelve una cápsula en la que la información sobre la cuenta de servicio se almacena como amable, metadatos, nombre, espacio de nombres, recursos, etc.

Paso 7: Verifique la lista del rol de cuenta de servicio

En este paso, verificaremos si la cuenta de servicio tiene el verbo de lista en el Pod. Si la cuenta de servicio tiene los permisos necesarios, el comando devuelve un valor de 'sí'; De lo contrario, devuelve un valor de 'no'. Ejecutamos el comando para verificar el estado:

kalsoom@kalsoom -virtualbox> kubectl auth Can -i list vainas - -AS = Sistema: ServiceAcCount: K8Boss: Custom -SA -N K8Boss

Cuando se ejecuta el comando, muestra que la salida es 'no' como se muestra en la captura de pantalla anterior, lo que significa que la cuenta de servicio no tiene el permiso necesario. Aquí, se utiliza Kubectl 'Can -i' para verificar el permiso otorgado a la cuenta de servicio.

Paso 8: Cree un papel de unión a roles en RBAC Kubernetes

En este paso, discutiremos la vinculación de roles en Kubernetes. Ejecutamos el comando:

kalsoom@kalsoom-virtualbox> kubectl crea unión de rol de rol-rol--rol = my-custom-role--serviceAcCount = k8boss

Después de ejecutar el comando, la vinculación de roles con el nombre 'my-custom-role unking' se crea con éxito como se ve en la captura de pantalla adjunta anteriormente que une el papel a la cuenta de servicio 'K8Boss'. La vinculación del rol otorgará los permisos definidos en el papel a la cuenta de servicio, lo que le permite realizar ciertas acciones dentro del clúster.

Paso 9: Cree un clúster de unión a roles en el clúster de Kubernetes

En este paso, creamos un clúster de unión a roles con la ayuda de la línea de comandos Kubectl. Ejecutamos el comando:

kalsoom@kalsoom-virtualbox> Kubectl Crear clusterroleBinding my-custom-clusterrole unión--clusterrole = my-custom-cluster-role--serviceAcCount = k8boss: personalizado.SA

Cuando se ejecuta el comando, entonces la vinculación de rol de clúster se crea a la vez. Usando este comando, se puede adjuntar un rol de clúster a la cuenta de servicio de un espacio de nombres en particular.

Paso 10- Verifique el permiso para las vainas

En esto, verificamos el permiso para la cuenta de servicio en el espacio de nombres K8Boss. Ejecutamos el comando:

kalsoom@kalsoom -virtualbox> kubectl auth can -i list vainas - - as = sistema.ServiceAcount: K8Boss: Cutom -Sa -N K8Boss

Cuando se ejecuta el comando, devuelve una salida sí. Significa que este pod tiene permiso para realizar una acción específica en Kubernetes.

Conclusión

Aprendimos sobre los diferentes roles de RBAC en Kubernetes. Hemos mencionado información sobre lo que es RBAC y cómo se usa este concepto en Kubernetes. Toda la información se presenta en detalle y las capturas de pantalla relevantes también están. Puede practicar los roles RBAC en su aplicación con ejemplos para una mejor comprensión.