¿Le gustaría aprender a configurar la autenticación Radius del Kubernetes Dashboard con Freeradius? En este tutorial, vamos a mostrarle cómo autenticar a los usuarios de Kubernetes Dashboard utilizando el protocolo Radius y el servicio Freeradius en un equipo que ejecuta Ubuntu Linux.
• Ubuntu 20
• Ubuntu 19
• Ubuntu 18
• Kubernetes 1.18
Este tutorial instalará un clúster de Kubernetes de nodo único.
En nuestro ejemplo, la dirección IP del nodo maestro de Kubernetes es 192.168.15.200.
En nuestro ejemplo, la dirección IP del servidor Radius es 192.168.15.10.
Kubernetes – Tutoriales
En esta página, ofrecemos acceso rápido a una lista de tutoriales relacionados con Kubernetes.
Tutorial – Instalación del servidor FreeRadius en Ubuntu Linux
• IP – 192.168.15.10
• Sistema Operacional – Ubuntu 20
• Nombre de host – FREERADIUS
En la consola Linux, utilice los siguientes comandos para instalar el servicio FreeRadius.
Ahora, necesitamos agregar clientes FreeRadius a clients.conf;.
Busque y edite clients.conf.
Agregue las siguientes líneas al final del archivo clients.conf.
En nuestro ejemplo, estamos agregando 1 dispositivo cliente:
El dispositivo se llamó KUBERNETES y tiene la dirección IP 192.168.15.200.
En nuestro ejemplo, establecemos el secreto: KAMISAMA123.
Ahora, necesitamos agregar usuarios de FreeRadius al archivo de configuración USERS.
Busque y edite el archivo de configuración de usuario de Freeradius.
Agregue las siguientes líneas al final del archivo
En nuestro ejemplo, creamos una cuenta de usuario denominada ADMIN.
Reinicie el servidor Freeradius.
Pruebe el archivo de configuración del servidor Radius.
Ha terminado la instalación de Freeradius en Ubuntu Linux.
Tutorial Kubernetes – Instalación del Master node
Instale la lista de paquetes necesarios.
Instale el servicio Docker.
Habilite el servicio Docker durante el arranque.
Edite el archivo de configuración del servicio Docker.
Agregue la siguiente configuración al final del elemento denominado: EXECSTART
Aquí está el archivo antes de nuestra configuración.
Aquí está el archivo después de nuestra configuración.
Cree un archivo de configuración del sistema.
Aquí está el contenido del archivo.
Habilite el archivo de configuración del sistema.
Edite el archivo de configuración denominado: MODULES. Conf
Agregue la siguiente configuración al final de este archivo.
Edite el archivo de configuración FSTAB y deshabilite el uso de La memoria de intercambio.
Aquí está el archivo antes de nuestra configuración.
Aquí está el archivo después de nuestra configuración.
Establezca un nombre de host único.
Cree un archivo para configurar las variables de entorno necesarias.
Aquí está el contenido del archivo.
Reinicie el equipo.
Descargue e instale la clave del repositorio de Kubernetes.
Agregue el repositorio oficial de Kubernetes.
Instale los paquetes de Kubernetes.
Descargue las imágenes de Kubernetes necesarias.
Aquí está la salida del comando.
Inicializar el clúster de Kubernetes.
Aquí está la salida del comando.
Tome nota del comando para agregar nodos al clúster de Kubernetes.
Establezca el permiso de archivo correcto en el archivo de configuración de Kubernetes.
Instale la configuración de red necesaria.
De forma predeterminada, el nodo maestro de Kubernetes no puede ejecutar PODS.
Opcionalmente, habilite el nodo maestro Kubernetes para ejecutar PODS.
En nuestro ejemplo, estamos usando un clúster de Kubernetes de nodo único.
Tutorial – Instalación de Kubernetes Dashboard
Instale la lista de paquetes necesarios.
Descargue el archivo YAML necesario.
Instale el Dashboard de Kubernetes.
Aquí está la salida del comando.
Cree una cuenta de servicio para el Dashboard.
Configure el rol de administrador de clúster en la cuenta de servicio del Dashboard.
Cree una cuenta de servicio para el proxy Apache.
Configure el rol de administrador de clúster en la cuenta de proxy Apache.
Enumere el secreto Apache disponible en el servidor Kubernetes.
Aquí está la salida del comando.
Fíjate que el nombre de tu secreto no será el mismo que el nuestro.
Obtenga el valor del token secreto Apache.
Aquí está la salida del comando.
Tome nota del valor del token Apache.
En nuestro ejemplo, este es el valor del token:
Enumere la dirección IP del clúster del servicio Dashboard.
Aquí está la salida del comando.
Tome nota de la dirección IP del clúster y del puerto TCP.
En nuestro ejemplo, el clúster de Dashboard utiliza el puerto TCP 443 y la dirección IP 10.107.55.24.
Ha terminado la configuración de Dashboard necesaria.
Kubernetes Proxy – Autenticación Radius mediante Apache
En el nodo Maestro, instale el servidor Apache.
Habilite los módulos Apache necesarios.
Edite el archivo de configuración de Apache.
Agregue las siguientes líneas al final de este archivo.
Cree una clave privada y un certificado mediante el comando OpenSSL.
Introduzca la información solicitada.
En la opción denominada COMMON_NAME, debe introducir la dirección IP o el nombre de host.
En nuestro ejemplo, usamos la dirección IP: 192.168.15.200
Convierta el certificado de proxy de Kubernetes existente y la clave en un único archivo en formato PEM.
Edite el archivo de configuración de Apache para el sitio web predeterminado.
Aquí está el archivo, antes de nuestra configuración.
Aquí está el archivo, después de nuestra configuración.
Cambie la dirección IP del elemento de configuración denominado ADDRADIUSAUTH a la dirección IP del servidor Radius.
Cambie la dirección IP de los elementos de configuración denominados PROXYPASS y PROXYPASSREVERSE a la dirección IP del clúster de dashboard.
Cambie el valor del token del CI denominado REQUESTHEADER por el valor de token secreto de Apache creado anteriormente.
En nuestro ejemplo, habilitamos el uso de HTTPS mediante certificados autofirmados.
En nuestro ejemplo, configuramos el uso de la autenticación RADIUS.
Apache representará la comunicación HTTPS entre el usuario y la dirección IP del clúster de Dashboard.
Apache utilizará un certificado y una clave creados automáticamente durante la instalación del servidor de Kubernetes para realizar la autenticación TLS mutua en el panel.
El servidor Apache agregará un encabezado a todos los paquetes enviados al panel.
Este encabezado se denomina AUTHORIZATION BEARER y contiene el token secreto creado anteriormente en el proxy Apache.
Apache también redirigirá a los usuarios HTTP a la versión HTTPS de la URL solicitada.
Reinicie el servicio Apache.
Abra su navegador y acceda a la versión HTTPS de la dirección IP del servidor Apache.
En nuestro ejemplo, se ha introducido la siguiente dirección URL en el explorador:
• https://192.168.15.200
El servidor Apache requerirá que realice la autenticación de usuario.
Después de un inicio de sesión exitoso, se debe presentar el Dashboard de Kubernetes.
El proxy Apache se autenticará automáticamente en el panel de Kubernetes mediante la característica denominada: AUTH HEADER.
Ha completado correctamente la configuración de Apache como proxy para el panel de Kubernetes.