¿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.

zabbix active directory

Seleccione la opción PUERTO.

zabbix windows firewall port

Seleccione la opción TCP.

Seleccione la opción Puertos locales específicos.

Ingrese el puerto TCP 389.

zabbix windows firewall port ldap

Seleccione la opción Permitir la conexión.

zabbix windows firewall allow connection

Marque la opción DOMINIO.

Marque la opción PRIVATE.

Marque la opción PUBLIC.

Zabbix windows firewall profile

Escriba una descripción en la regla de firewall.

windows firewall active directory

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.

Zabbix active directory account

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.

active directory admin account
zabbix active directory admin properties

Crear una nueva cuenta denominada: bind

Contraseña configurada para el usuario BIND: kamisama123..

Kubernetes usará esta cuenta para consultar Active Directory.

active directory bind account
zabbix active directory ldap bind properties

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.

Radius Active directory group

Cree un nuevo grupo denominado: KUBERNETES-ADMIN.

Los miembros de este grupo tendrán permiso administrativo en el panel de Kubernetes.

Kubernetes LDAP authentication group

¡Importante! Agregue el usuario ADMIN como miembro de KUBERNETES-ADMIN.

Kubernetes LDAP Active directory group

Enhorabuena, ha creado el grupo de Active Directory necesario.

Tutorial Kubernetes – Instalación del Master node

Instale la lista de paquetes necesarios.

Copy to Clipboard

Instale el servicio Docker.

Copy to Clipboard

Habilite el servicio Docker durante el arranque.

Copy to Clipboard

Edite el archivo de configuración del servicio Docker.

Copy to Clipboard

Agregue la siguiente configuración al final del elemento denominado: EXECSTART

Copy to Clipboard

Aquí está el archivo antes de nuestra configuración.

Copy to Clipboard

Aquí está el archivo después de nuestra configuración.

Copy to Clipboard

Cree un archivo de configuración del sistema.

Copy to Clipboard

Aquí está el contenido del archivo.

Copy to Clipboard

Habilite el archivo de configuración del sistema.

Copy to Clipboard

Edite el archivo de configuración denominado: MODULES. Conf

Copy to Clipboard

Agregue la siguiente configuración al final de este archivo.

Copy to Clipboard

Edite el archivo de configuración FSTAB y deshabilite el uso de La memoria de intercambio.

Copy to Clipboard

Aquí está el archivo antes de nuestra configuración.

Copy to Clipboard

Aquí está el archivo después de nuestra configuración.

Copy to Clipboard

Establezca un nombre de host único.

Copy to Clipboard

Cree un archivo para configurar las variables de entorno necesarias.

Copy to Clipboard

Aquí está el contenido del archivo.

Copy to Clipboard

Reinicie el equipo.

Copy to Clipboard

Descargue e instale la clave del repositorio de Kubernetes.

Copy to Clipboard

Agregue el repositorio oficial de Kubernetes.

Copy to Clipboard

Instale los paquetes de Kubernetes.

Copy to Clipboard

Descargue las imágenes de Kubernetes necesarias.

Copy to Clipboard

Aquí está la salida del comando.

Copy to Clipboard

Inicializar el clúster de Kubernetes.

Copy to Clipboard

Aquí está la salida del comando.

Copy to Clipboard

Tome nota del comando para agregar nodos al clúster de Kubernetes.

Copy to Clipboard

Establezca el permiso de archivo correcto en el archivo de configuración de Kubernetes.

Copy to Clipboard

Instale la configuración de red necesaria.

Copy to Clipboard

De forma predeterminada, el nodo maestro de Kubernetes no puede ejecutar PODS.

Opcionalmente, habilite el nodo maestro Kubernetes para ejecutar PODS.

Copy to Clipboard

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.

Copy to Clipboard

Descargue el archivo YAML necesario.

Copy to Clipboard

Instale el Dashboard de Kubernetes.

Copy to Clipboard

Aquí está la salida del comando.

Copy to Clipboard

Cree una cuenta de servicio para el Dashboard.

Copy to Clipboard

Configure el rol de administrador de clúster en la cuenta de servicio del Dashboard.

Copy to Clipboard

Cree una cuenta de servicio para el proxy Apache.

Copy to Clipboard

Configure el rol de administrador de clúster en la cuenta de proxy Apache.

Copy to Clipboard

Enumere el secreto Apache disponible en el servidor Kubernetes.

Copy to Clipboard

Aquí está la salida del comando.

Copy to Clipboard

Fíjate que el nombre de tu secreto no será el mismo que el nuestro.

Obtenga el valor del token secreto Apache.

Copy to Clipboard

Aquí está la salida del comando.

Copy to Clipboard

Tome nota del valor del token Apache.

En nuestro ejemplo, este es el valor del token:

Copy to Clipboard

Enumere la dirección IP del clúster del servicio Dashboard.

Copy to Clipboard

Aquí está la salida del comando.

Copy to Clipboard

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.

Copy to Clipboard

Habilite los módulos Apache necesarios.

Copy to Clipboard

Edite el archivo de configuración de Apache.

Copy to Clipboard

Agregue las siguientes líneas al final de este archivo.

Copy to Clipboard

Cree una clave privada y un certificado mediante el comando OpenSSL.

Copy to Clipboard

Introduzca la información solicitada.

Copy to Clipboard

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.

Copy to Clipboard

Edite el archivo de configuración de Apache para el sitio web predeterminado.

Copy to Clipboard

Aquí está el archivo, antes de nuestra configuración.

Copy to Clipboard

Aquí está el archivo, después de nuestra configuración.

Copy to Clipboard

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.

Copy to Clipboard

En nuestro ejemplo, configuramos el uso de la autenticación LDAP.

Copy to Clipboard

Apache representará la comunicación HTTPS entre el usuario y la dirección IP del clúster de Dashboard.

Copy to Clipboard

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.

Copy to Clipboard

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.

Copy to Clipboard

Apache también redirigirá a los usuarios HTTP a la versión HTTPS de la URL solicitada.

Copy to Clipboard

Reinicie el servicio Apache.

Copy to Clipboard

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.

Kubernetes Dashboard Proxy Authentication

Después de un inicio de sesión exitoso, se debe presentar el Dashboard de Kubernetes.

Kubernetes Dashboard

El proxy Apache se autenticará automáticamente en el panel de Kubernetes mediante la característica denominada: AUTH HEADER.

Kubernetes dashboard Authorization bearer

Ha completado correctamente la configuración de Apache como proxy para el panel de Kubernetes.