gMSA en Azure Kubernetes Service
Las cuentas de servicio administradas de grupo (gMSA) se pueden usar en Azure Kubernetes Service (AKS) para admitir aplicaciones que requieren Active Directory con fines de autenticación. La configuración de gMSA en AKS requiere que configure correctamente los siguientes servicios y opciones: AKS, Azure Key Vault, Active Directory, especificaciones de credenciales, etc. Para simplificar este proceso, puede usar el siguiente módulo de PowerShell. Este módulo se ha diseñado para simplificar el proceso de configuración de gMSA en AKS mediante la eliminación de la complejidad de la configuración de diferentes servicios.
Requisitos del entorno
Para implementar gMSA en AKS, necesitará lo siguiente:
- Un clúster de AKS con nodos de Windows activos y en funcionamiento. Si no tiene un clúster de AKS listo, consulte la documentación de Azure Kubernetes Service.
- El clúster debe estar autorizado para la gMSA en AKS. Para obtener más información, consulte Habilitación de cuentas de servicio administradas de grupo (GMSA) para los nodos de Windows Server en el clúster de Azure Kubernetes Service (AKS).
- Un entorno de Active Directory configurado correctamente para gMSA. A continuación se proporcionan detalles sobre cómo configurar el dominio.
- Los nodos de Windows en AKS se deben poder conectar a los controladores de dominio de Active Directory.
- Credenciales de dominio de Active Directory con autorización delegada para configurar la cuenta gMSA y un usuario de dominio estándar. Esta tarea se puede delegar a personas autorizadas (si es necesario).
Instalación del módulo de PowerShell de gMSA en AKS
Para empezar, descargue el módulo de PowerShell desde la galería de PowerShell:
Install-Module -Name AksGMSA -Repository PSGallery -Force
Nota
El módulo de PowerShell de gMSA en AKS se actualiza constantemente. Si ejecutó los pasos de este tutorial antes y ahora vuelve a comprobar las nuevas configuraciones, asegúrese de actualizar el módulo a la versión más reciente. Puede encontrar más información sobre el módulo en la página de la Galería de PowerShell.
Requisitos del módulo
El módulo de PowerShell de gMSA en AKS depende de diferentes módulos y herramientas. Para instalar estos requisitos, ejecute lo siguiente en una sesión con privilegios elevados:
Install-ToolingRequirements
Inicio de sesión con la credencial de Azure
Tendrá que iniciar sesión en Azure con sus credenciales para el módulo de PowerShell de gMSA en AKS para poder configurar correctamente el clúster de AKS. Para iniciar sesión en Azure mediante PowerShell, ejecute lo siguiente:
Connect-AzAccount -DeviceCode -Subscription "<SUBSCRIPTION_ID>"
También debe iniciar sesión con la CLI de Azure, ya que el módulo de PowerShell también la usa en segundo plano:
az login --use-device-code
az account set --subscription "<SUBSCRIPTION_ID>"
Configuración de las entradas necesarias para el módulo de gMSA en AKS
A lo largo de la configuración de gMSA en AKS, se necesitarán muchas entradas, como el nombre del clúster de AKS, el nombre del grupo de recursos de Azure, la región para implementar los recursos necesarios, el nombre de dominio de Active Directory y mucho más. Para simplificar el proceso siguiente, creamos un comando de entrada que recopilará todos los valores necesarios y los almacenará en una variable que, después, se usará en los comandos siguientes.
Para empezar, ejecute lo siguiente:
$params = Get-AksGMSAParameters
Después de ejecutar el comando, proporcione las entradas necesarias hasta que finalice el comando. A partir de ahora, puede, simplemente, copiar y pegar los comandos como se muestra en esta página.
Conectarse al clúster AKS
Al usar el módulo de PowerShell de gMSA en AKS, se conectará al clúster de AKS que quiera configurar. El módulo de PowerShell de gMSA en AKS se basa en la conexión de kubectl. Para conectar el clúster, ejecute lo siguiente: (Tenga en cuenta que, dado que proporcionó las entradas anteriores, simplemente, puede copiar y pegar el comando siguiente en la sesión de PowerShell).
Import-AzAksCredential -Force `
-ResourceGroupName $params["aks-cluster-rg-name"] `
-Name $params["aks-cluster-name"]