¿Desea aprender a configurar la autenticación LDAP de Kubernetes en Active Directory? En este tutorial, vamos a mostrarle cómo autenticar a los usuarios del panel de Kubernetes mediante Windows Active Directory y el protocolo LDAP.
• 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 controlador de dominio es 192.168.15.10.
Kubernetes – Tutoriales
En esta página, ofrecemos acceso rápido a una lista de tutoriales relacionados con Kubernetes.
Tutorial Windows – Firewall de controlador de dominio
• IP – 192.168.15.10
• Sistema Operacional – WINDOWS 2012 R2
• Nombre de host – TECH-DC01
En primer lugar, necesitamos crear una regla de firewall en el controlador de dominio de Windows.
Esta regla de firewall permitirá que el servidor de Kubernetes consulte el directorio activo.
En el controlador de dominio, abra la aplicación denominada Firewall de Windows con seguridad avanzada
Cree una nueva regla de firewall de entrada.
Seleccione la opción PUERTO.
Seleccione la opción TCP.
Seleccione la opción Puertos locales específicos.
Ingrese el puerto TCP 389.
Seleccione la opción Permitir la conexión.
Marque la opción DOMINIO.
Marque la opción PRIVATE.
Marque la opción PUBLIC.
Escriba una descripción en la regla de firewall.
Enhorabuena, ha creado la regla de firewall necesaria.
Esta regla permitirá al servidor de Kubernetes consultar la base de datos de Active Directory.
Tutorial Windows – Creación de cuentas de dominio
A continuación, necesitamos crear al menos 2 cuentas en la base de datos de Active Directory.
La cuenta ADMIN se utilizará para iniciar sesión en el panel de Kubernetes.
La cuenta BIND se usará para consultar la base de datos de Active Directory.
En el controlador de dominio, abra la aplicación denominada: Usuarios y equipos de Active Directory
Cree una nueva cuenta dentro del contenedor Usuarios.
Crear una nueva cuenta denominada: admin
Contraseña configurada para el usuario ADMIN: 123qwe..
Esta cuenta se utilizará para autenticarse en la interfaz web de Kubernetes.
Crear una nueva cuenta denominada: bind
Contraseña configurada para el usuario BIND: kamisama123..
Kubernetes usará esta cuenta para consultar Active Directory.
Enhorabuena, ha creado las cuentas de Active Directory necesarias.
Tutorial Windows – Creación de grupos de dominio
A continuación, necesitamos crear un grupo en Active Directory.
En el controlador de dominio, abra la aplicación denominada: Usuarios y equipos de Active Directory
Cree un nuevo grupo dentro del contenedor Usuarios.
Cree un nuevo grupo denominado: KUBERNETES-ADMIN.
Los miembros de este grupo tendrán permiso administrativo en el panel de Kubernetes.
¡Importante! Agregue el usuario ADMIN como miembro de KUBERNETES-ADMIN.
Enhorabuena, ha creado el grupo de Active Directory necesario.
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 básica de usuario 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 de los elementos de configuración denominados AUTHLDAPURL a la dirección IP del controlador de dominio.
Cambie toda la información de dominio en Active Directory para reflejar su entorno.
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 LDAP.
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.