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]

Copy to Clipboard

  • El siguiente paso es crear un nuevo proyecto en OCP llamado kasten-io

Copy to Clipboard

  • 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:

Copy to Clipboard

  • Finalmente creamos la Service Account.

Copy to Clipboard

  • 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:

Copy to Clipboard

 

 

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:

Copy to Clipboard

  • 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:

Copy to Clipboard

 

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

[/fusion_builder_column][/fusion_builder_row][/fusion_builder_container]