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 se adjunta un clúster de Azure Kubernetes Service (AKS) 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 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 Instancia administrada, 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, recopilando métricas y registros de Azure Arc y habilitando 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 Azure Portal y, a continuación, haga clic en Ver mi acceso.
- Una entidad de servicio con el rol de propietario integrado.
- Ejecute los comandos de este artículo en una ventana administrativa de PowerShell.
- Asegúrese de cumplir 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 registró 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 que 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
. Cuando se le solicite, escriba el identificador de la aplicación para el nombre de usuario y, a continuación, use el secreto de la entidad de servicio como contraseña. 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 este comando tiene asignado el rol Propietario y que tiene ámbito sobre el identificador de suscripción usado en el comando . Para 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, a continuación, conectarse a Azure Arc mediante una entidad de servicio:
$objectID = (Get-AzADServicePrincipal -ApplicationId "00001111-aaaa-2222-bbbb-3333cccc4444").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 el nombre del recurso y las entradas de nombre del grupo de recursos que se usan 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.
Desconexión del 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