Conexión de un clúster de Azure Kubernetes Service a Azure Arc

Se aplica a: AKS en Azure Stack HCI 22H2, AKS en Windows Server

Cuando un clúster de Azure Kubernetes Service (AKS) está asociado a Azure Arc, obtiene una representación de Azure Resource Manager. Los clústeres se asocian a suscripciones estándar de Azure, viven en un grupo de recursos y pueden recibir etiquetas como cualquier otro recurso de Azure. Además, la representación de Kubernetes le permite ampliar las siguientes funcionalidades en el clúster de Kubernetes:

  • Servicios de administración: configuraciones (GitOps), Azure Monitor para contenedores, Azure Policy (Gatekeeper).
  • Servicios de datos: SQL Managed Instance, Hiperescala de PostgreSQL.
  • Servicios de aplicación: App Service, Functions, Event Grid, Logic Apps, API Management.

Para conectar un clúster de Kubernetes a Azure, el administrador del clúster debe implementar agentes. Estos agentes se ejecutan en un espacio de nombres de Kubernetes denominado azure-arc y son implementaciones estándar de Kubernetes. Los agentes son responsables de la conectividad con Azure, la recopilación de registros y métricas de Azure Arc y la habilitación de los escenarios mencionados anteriormente en el clúster.

AKS admite SSL estándar del sector para proteger los datos en tránsito. Además, los datos se almacenan cifrados en reposo en una base de datos de Azure Cosmos DB para garantizar la confidencialidad de los datos.

En los pasos siguientes se describe cómo conectar clústeres de AKS a Azure Arc en AKS habilitados por Arc. Puede omitir estos pasos si ya ha conectado el clúster de Kubernetes a Azure Arc mediante Windows Admin Center.

Antes de empezar

Compruebe que tiene los requisitos siguientes:

  • Un clúster de AKS con al menos un nodo de trabajo de Linux que esté en funcionamiento.
  • Instale el módulo de PowerShell aksHci.
  • El siguiente nivel de acceso en la suscripción de Azure:
    • Una cuenta de usuario con el rol Propietario integrado. Para comprobar el nivel de acceso, vaya a la suscripción, seleccione "Control de acceso (IAM)" en el lado izquierdo de la Azure Portal y, a continuación, haga clic en Ver mi acceso.
    • Una entidad de servicio con el rol propietario integrado.
  • Ejecute los comandos de este artículo en una ventana administrativa de PowerShell.
  • Asegúrese de que ha cumplido los requisitos de red de AKS.

Paso 1: Inicio de sesión en Azure

Para iniciar sesión en Azure, ejecute el comando Connect-AzAccount de PowerShell:

Connect-AzAccount $tenantId

Si quiere cambiar a otra suscripción, ejecute el comando Set-AzContext de PowerShell:

Set-AzContext -Subscription $subscriptionId

Paso 2: Registrar los dos proveedores para AKS

Puede omitir este paso si ya ha registrado los dos proveedores para AKS en su suscripción. El registro es un proceso asincrónico y se debe realizar una vez por cada suscripción. El registro puede tardar aproximadamente 10 minutos:

Register-AzResourceProvider -ProviderNamespace Microsoft.Kubernetes
Register-AzResourceProvider -ProviderNamespace Microsoft.KubernetesConfiguration
Register-AzResourceProvider -ProviderNamespace Microsoft.ExtendedLocation

Puede comprobar si está registrado con los siguientes comandos:

Get-AzResourceProvider -ProviderNamespace Microsoft.Kubernetes
Get-AzResourceProvider -ProviderNamespace Microsoft.KubernetesConfiguration
Get-AzResourceProvider -ProviderNamespace Microsoft.ExtendedLocation

Paso 3: Conexión a Azure Arc mediante el módulo Aks-Hci de PowerShell

Conecte el clúster de AKS a Kubernetes mediante el comando Enable-AksHciArcConnection de PowerShell. En este paso se implementan agentes de Azure Arc para Kubernetes en el azure-arc espacio de nombres :

Enable-AksHciArcConnection -name $clusterName 

Conexión del clúster de AKS a Azure Arc mediante una entidad de servicio

Si no tiene acceso a una suscripción en la que es "Propietario", puede conectar el clúster de AKS a Azure Arc mediante una entidad de servicio.

El primer comando solicita las credenciales de la entidad de servicio y las almacena en la variable credential. Escriba el id. de aplicación para el nombre de usuario y use el secreto de la entidad de servicio como la contraseña cuando se le solicite. Asegúrese de obtener estos valores del administrador de la suscripción. El segundo comando conecta el clúster a Azure Arc mediante las credenciales de la entidad de servicio almacenadas en la credential variable :

$Credential = Get-Credential
Enable-AksHciArcConnection -name $clusterName -subscriptionId $subscriptionId -resourceGroup $resourceGroup -credential $Credential -tenantId $tenantId -location $location

Asegúrese de que la entidad de servicio usada en el comando anterior tiene asignado el rol "Propietario" y que tiene ámbito sobre el identificador de suscripción usado en el comando. Para obtener más información sobre las entidades de servicio, consulte Creación de una entidad de servicio con Azure PowerShell.

Conexión del clúster de AKS a Azure Arc y habilitación de ubicaciones personalizadas

Si desea habilitar ubicaciones personalizadas en el clúster junto con Azure Arc, ejecute el siguiente comando para obtener el identificador de objeto de la aplicación de ubicación personalizada y, después, conéctese a Azure Arc mediante una entidad de servicio:

$objectID = (Get-AzADServicePrincipal -ApplicationId "bc313c14-388c-4e7d-a58e-70017303ee3b").Id
Enable-AksHciArcConnection -name $clusterName -subscriptionId $subscriptionId -resourceGroup $resourceGroup -credential $Credential -tenantId $tenantId -location -customLocationsOid $objectID

Comprobación del clúster conectado

Puede ver el recurso de clúster de Kubernetes en Azure Portal. Una vez que abra el portal en el explorador, vaya al grupo de recursos y al recurso de AKS que se basa en las entradas de nombre de recurso y nombre del grupo de recursos usadas en el comando enable-akshciarcconnection de PowerShell.

Nota

Después de conectar el clúster, los metadatos del clúster (versión del clúster, versión del agente, número de nodos) pueden tardar aproximadamente cinco a diez minutos en mostrarse en la página de información general del recurso de AKS en Azure Portal.

Agentes de Azure Arc para Kubernetes

AKS implementa algunos operadores en el azure-arc espacio de nombres. Puede ver estas implementaciones y pods con kubectl, como se muestra en el ejemplo siguiente:

kubectl -n azure-arc get deployments,pods

AKS consta de algunos agentes (operadores) que se ejecutan en el clúster implementado en el azure-arc espacio de nombres. Para obtener más información sobre estos agentes, consulte esta introducción.

Desconecte el clúster de AKS de Azure Arc

Si desea desconectar el clúster de AKS, ejecute el comando Disable-AksHciArcConnection de PowerShell. Asegúrese de iniciar sesión en Azure antes de ejecutar el comando:

Disable-AksHciArcConnection -Name $clusterName

Pasos siguientes