Hola a todos! Hasta ahora hemos hablado de como instalar Kasten K10 en diversas infraestructuras como AWS EKS o Azure AKS, utilizando autenticación basada en token o utilizando Azure AD/OIDC. En esta ocasión, veremos como instalar Kasten sobre OpenShift y utilizar OAuth para proveer autenticación, utilizando LDAP (Active Directory) como Identity Provider.
Que necesitamos
Para proceder con esta configuración necesitaremos los siguientes componentes:
- Un dominio Active Directory con usuarios y grupos creados y que queramos utilizar para autenticarnos en OpenShift y en Kasten.
- Un cluster Openshift Container Platform operativo
- Active Directory configurado como OAuth Provider en OpenShift
Pasos previos para instalar Kasten
En este punto nos toca completar los pasos previos para la instalación de Kasten en OpenShift utilizando OAuth.
- Como siempre, el primer paso es verificar que se cumplan todos los pre-requisitos ejecutando el siguiente comando:
[/fusion_text]
- El siguiente paso es crear un nuevo proyecto en OCP llamado kasten-io
- A continuación debemos crear un Service Account llamado k10-dex-sa, con la siguiente anotación: serviceaccounts.openshift.io/oauth-redirecturi.dex. Esta anotación permite registrar este Service Account como un cliente OAuth con el servidor OpenShift OAuth. Para esto primero creamos un fichero YAML con los siguientes datos:
- Finalmente creamos la Service Account.
- Una vez creada la Service Account, necesitamos obtener el Token del Service Account, el cual podemos conseguir con el siguiente comando, almacenandolo en una variable de entorno:
Instalar Kasten en OpenShift con Auth
Ahora solo nos queda el paso más sencillo, que es instalar Kasten K10 en OpenShift. Para esto, necesitamos ejecutar la instalación de Kasten con los siguientes datos:
- auth.openshift.enabled=true
- auth.openshift.serviceAccount=”service account”
- auth.openshift.clientSecret=”token from the service account”
- auth.openshift.dashboardURL=”K10’s dashboard URL”
- auth.openshift.openshiftURL=”OpenShift API server’s URL”
- auth.openshift.insecureCA=false/true
Lo siguiente, una vez todos los pods se encuentren en ejecución y sin errores, debemos crear los clusterrolebindings para el grupo de AD que contiene los usuarios que deseamos utilizar para autenticarnos en Kasten:
Si intentamos ahora conectarnos al Dashboard de Kasten, lo primero que nos aparecerá será la interfaz de autenticación de OCP, con todas las opciones de autenticación. Elegimos el proveedor LDAP que configuramos previamente, y nos conectamos con el usuario requerido, en mi caso, con el usuario k10admin.
La primera vez que nos autentiquemos con un usuario LDAP, nos aparecerá el siguiente mensaje. Hacemos clik en “Allow selected permissions” para continuar.
Finalmente ya estamos conectados a Kasten, y podemos ver que nuestro usuario k10admin tiene acceso completo gracias a los clusterroles que le hemos asignado.
Ya luego podemos crear clusterrolebindings o rolebindings adicionales a otros grupos de usuarios de AD con distintos privilegios, o con acceso restringido a projects/namespaces especificos, utilizando las funcionalidades de RBAC de Kasten K10.
Espero les haya resultado interesante y que les sea de utilidad. Saludos!!!
[…] a todos!! En otros posts hemos visto como instalar Kasten en multiples plataformas, incluyendo RedHat OpenShift, AWS EKS, Azure AKS y Google Cloud GKE entre otros, y usualmente los ejemplos de configuración los […]