Preparar el clúster de Kubernetes habilitado para Azure Arc
Importante
Versión preliminar de operaciones de Azure IoT: habilitada por Azure Arc está actualmente en versión preliminar. No se debería usar este software en versión preliminar en entornos de producción.
Deberá implementar una nueva instalación de Azure IoT Operations cuando esté disponible una versión general. No podrá actualizar una instalación de versión preliminar.
Consulte Términos de uso complementarios para las versiones preliminares de Microsoft Azure para conocer los términos legales que se aplican a las características de Azure que se encuentran en la versión beta, en versión preliminar o que todavía no se han publicado para que estén disponibles con carácter general.
Un clúster de Kubernetes habilitado para Azure Arc es un requisito previo para implementar Azure IoT Operations Preview, habilitado por Azure Arc. En este artículo se describe cómo preparar un clúster antes de implementar Azure IoT Operations Preview en un clúster de Kubernetes habilitado para Arc. En este artículo se incluyen instrucciones para máquinas Ubuntu y Windows.
Sugerencia
Los pasos de este artículo preparan el clúster para una implementación de configuración segura, que es un proceso más largo pero listo para producción. Si quiere implementar operaciones de Azure IoT rápidamente y ejecutar una carga de trabajo de ejemplo con solo configuración de prueba, consulte inicio rápido: Ejecución de Azure IoT Operations Preview en GitHub Codespaces con K3s en su lugar.
Para obtener más información sobre la configuración de prueba y la configuración segura, consulte Detalles de implementación > Elegir las características.
Requisitos previos
Las Operaciones de IoT de Azure se pueden ejecutar en cualquier clúster de Kubernetes habilitado para Arc que cumpla los requisitos del sistema de Kubernetes habilitados para Azure Arc. Actualmente, Operaciones de IoT de Azure no admite arquitecturas Arm64.
Microsoft admite Azure Kubernetes Service (AKS) Edge Essentials para implementaciones en Windows y K3s para implementaciones en Ubuntu. Para obtener una lista de combinaciones de hardware y software específicas que se prueban y validan, consulte Entornos validados.
Si quiere implementar operaciones de Azure IoT en una solución de varios nodos, use K3s en Ubuntu.
Para preparar el clúster de Kubernetes habilitado para Azure Arc, necesita lo siguiente:
Suscripción a Azure. Si no tiene una suscripción de Azure, cree una gratuita antes de comenzar.
CLI de Azure versión 2.64.0 o posterior instalada en su máquina de desarrollo. Use
az --version
para comprobar la versión yaz upgrade
para actualizarla si es necesario. Para obtener más información, consulte Cómo instalar la CLI de Azure.La versión más reciente de las siguientes extensiones para la CLI de Azure:
az extension add --upgrade --name azure-iot-ops az extension add --upgrade --name connectedk8s
Hardware que cumple los requisitos del sistema:
- Asegúrese de que la máquina tiene un mínimo de 16 GB de RAM disponible, 8 vCPU disponibles y espacio en disco libre de 52 GB para operaciones de Azure IoT.
- Requisitos del sistema Kubernetes habilitado para Azure Arc.
- Requisitos y la matriz compatible de AKS Edge Essentials.
- Guía de redes de AKS Edge Essentials.
Crear un clúster
En esta sección se proporcionan pasos para crear clústeres en entornos validados en Linux y Windows.
Azure Kubernetes Service Edge Essentials es una implementación local de Kubernetes de Azure Kubernetes Service (AKS) que automatiza la ejecución de aplicaciones en contenedor a escala. AKS Edge Essentials incluye una plataforma de Kubernetes compatible con Microsoft que incluye una distribución ligera de Kubernetes con una superficie pequeña y una experiencia de instalación sencilla, lo que facilita la implementación de Kubernetes en hardware perimetral de clase PC o "ligero".
El script AksEdgeQuickStartForAio.ps1 automatiza el proceso de creación y conexión de un clúster, y es la ruta recomendada para implementar operaciones de Azure IoT en AKS Edge Essentials.
Abra una ventana de PowerShell con privilegios elevados y cambie el directorio a una carpeta de trabajo.
Obtenga el
objectId
de la aplicación de Microsoft Entra ID que usa el servicio Azure Arc. Ejecute el siguiente comando exactamente como está escrito, sin cambiar el valor GUID.az ad sp show --id bc313c14-388c-4e7d-a58e-70017303ee3b --query id -o tsv
Ejecute los siguientes comandos y reemplace los valores de marcador de posición por la información:
Marcador Value SUBSCRIPTION_ID Id. de la suscripción de Azure. Si no conoce el identificador de suscripción, vea Búsqueda de la suscripción de Azure. TENANT_ID Identificador del inquilino de Microsoft Entra. Si no conoce el identificador de inquilino, vea Buscar el inquilino de Microsoft Entra. RESOURCE_GROUP_NAME Nombre de un grupo de recursos existente o un nombre para crear un nuevo grupo de recursos. LOCATION Región de Azure cercana a usted. Para obtener la lista de regiones de Azure admitidas actualmente, vea Regiones admitidas. CLUSTER_NAME Nombre del nuevo clúster que se va a crear. ARC_APP_OBJECT_ID Valor del identificador de objeto que recuperó en el paso anterior. $url = "https://raw.githubusercontent.com/Azure/AKS-Edge/main/tools/scripts/AksEdgeQuickStart/AksEdgeQuickStartForAio.ps1" Invoke-WebRequest -Uri $url -OutFile .\AksEdgeQuickStartForAio.ps1 Unblock-File .\AksEdgeQuickStartForAio.ps1 Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope Process -Force .\AksEdgeQuickStartForAio.ps1 -SubscriptionId "<SUBSCRIPTION_ID>" -TenantId "<TENANT_ID>" -ResourceGroupName "<RESOURCE_GROUP_NAME>" -Location "<LOCATION>" -ClusterName "<CLUSTER_NAME>" -CustomLocationOid "<ARC_APP_OBJECT_ID>"
Si hay algún problema durante la implementación, incluido si la máquina se reinicia como parte de este proceso, vuelva a ejecutar todo el conjunto de comandos.
Ejecute los comandos siguientes para comprobar que la implementación se haya realizado correctamente:
Import-Module AksEdge Get-AksEdgeDeploymentInfo
En la salida del comando
Get-AksEdgeDeploymentInfo
, debería ver que el estado de Arc del clúster seaConnected
.
Habilite su clúster para Arc
Conecte el clúster a Azure Arc para que se pueda administrar de forma remota.
El script de AksEdgeQuickStartForAio.ps1 que ejecutó en la sección anterior controló los pasos para conectar el clúster. No es necesario realizar ningún paso adicional para habilitar Arc.
Comprobación del clúster
Para comprobar que el clúster está listo para la implementación de operaciones de Azure IoT, puede usar el comando del asistente de verify-host en la extensión azure IoT Operations para la CLI de Azure. Cuando se ejecuta en el host del clúster, este comando auxiliar comprueba la conectividad con los puntos de conexión de Azure Resource Manager y Microsoft Container Registry.
az iot ops verify-host
Para comprobar que el clúster de Kubernetes ahora está habilitado para Azure Arc, ejecute el siguiente comando:
kubectl get deployments,pods -n azure-arc
La salida se parece al ejemplo siguiente:
NAME READY UP-TO-DATE AVAILABLE AGE
deployment.apps/clusterconnect-agent 1/1 1 1 10m
deployment.apps/extension-manager 1/1 1 1 10m
deployment.apps/clusteridentityoperator 1/1 1 1 10m
deployment.apps/controller-manager 1/1 1 1 10m
deployment.apps/flux-logs-agent 1/1 1 1 10m
deployment.apps/cluster-metadata-operator 1/1 1 1 10m
deployment.apps/extension-events-collector 1/1 1 1 10m
deployment.apps/config-agent 1/1 1 1 10m
deployment.apps/kube-aad-proxy 1/1 1 1 10m
deployment.apps/resource-sync-agent 1/1 1 1 10m
deployment.apps/metrics-agent 1/1 1 1 10m
NAME READY STATUS RESTARTS AGE
pod/clusterconnect-agent-5948cdfb4c-vzfst 3/3 Running 0 10m
pod/extension-manager-65b8f7f4cb-tp7pp 3/3 Running 0 10m
pod/clusteridentityoperator-6d64fdb886-p5m25 2/2 Running 0 10m
pod/controller-manager-567c9647db-qkprs 2/2 Running 0 10m
pod/flux-logs-agent-7bf6f4bf8c-mr5df 1/1 Running 0 10m
pod/cluster-metadata-operator-7cc4c554d4-nck9z 2/2 Running 0 10m
pod/extension-events-collector-58dfb78cb5-vxbzq 2/2 Running 0 10m
pod/config-agent-7579f558d9-5jnwq 2/2 Running 0 10m
pod/kube-aad-proxy-56d9f754d8-9gthm 2/2 Running 0 10m
pod/resource-sync-agent-769bb66b79-z9n46 2/2 Running 0 10m
pod/metrics-agent-6588f97dc-455j8 2/2 Running 0 10m
Pasos siguientes
Ahora que tiene un clúster de Kubernetes habilitado para Azure Arc, puede implementar Azure IoT Operations.