Compartir vía


Implementación de Operaciones de IoT de Azure en un clúster de Kubernetes habilitado para Arc

Aprenda a implementar Operaciones de IoT de Azure en un clúster de Kubernetes mediante Azure Portal.

En este artículo, hablaremos de las implementaciones e instancias de Operaciones de IoT de Azure, que son dos conceptos diferentes:

  • Una implementación de Azure IoT Operations describe todos los componentes y recursos que permiten el escenario de operaciones de Azure IoT. Estos componentes y recursos incluyen:

    • Una instancia de Azure IoT Operations
    • Extensiones de Arc
    • Ubicaciones personalizadas
    • Recursos que puede configurar en la solución de Operaciones de IoT de Azure, como recursos y puntos de conexión de recursos.
  • Una instancia de Operaciones de IoT de Azure es el recurso principal que agrupa el conjunto de servicios definidos en ¿Qué es Operaciones de IoT de Azure? como el corredor MQTT, los flujos de datos y el conector para OPC UA.

Cuando hablamos de implementar operaciones de IoT de Azure, nos referimos al conjunto completo de componentes que conforman una implementación. Una vez que exista la implementación, puede ver, administrar y actualizar la instancia.

Requisitos previos

Recursos en la nube:

Recursos de desarrollo:

  • CLI de Azure instalada en la máquina de desarrollo. Este escenario requiere la versión 2.64.0 o posterior de la CLI de Azure. Use az --version para comprobar la versión y az upgrade para actualizarla si es necesario. Para obtener más información, consulte Cómo instalar la CLI de Azure.

  • Extensión Operaciones de IoT de Azure para la CLI de Azure. Use el siguiente comando para agregar la extensión o actualizarla a la versión más reciente:

    az extension add --upgrade --name azure-iot-ops
    

Un host de clúster:

Implementar

La experiencia de implementación de Azure Portal es una herramienta auxiliar que genera un comando de implementación basado en los recursos y la configuración. El último paso es ejecutar un comando de la CLI de Azure, por lo que todavía necesita los requisitos previos de la CLI de Azure descritos en la sección anterior.

  1. En Azure Portal, busque y seleccione Azure IoT Operations.

  2. Seleccione Crear.

  3. En la pestaña Básico, especifique la siguiente información:

    Parámetro Valor
    Suscripción Seleccione la suscripción que contiene el clúster habilitado para Arc.
    Grupo de recursos Seleccione el grupo de recursos que contiene el clúster habilitado para Arc.
    Nombre del clúster Seleccione el clúster en el que desea implementar operaciones de Azure IoT.
    Nombre de ubicación personalizada Opcional: Reemplace el nombre predeterminado de la ubicación personalizada.

    Captura de pantalla que muestra la primera pestaña para implementar operaciones de Azure IoT desde el portal.

  4. Seleccione Siguiente: Configuration (Siguiente: Configuración).

  5. En la pestaña Configuración, proporcione la siguiente información:

    Parámetro Valor
    nombre de operaciones de Azure IoT Opcional: Reemplace el nombre predeterminado de la instancia de Azure IoT Operations.
    Configuración del agente MQTT Opcional: edite la configuración predeterminada para el corredor MQTT. En Azure Portal, es posible configurar la cardinalidad y la configuración del perfil de memoria. Para configurar otras opciones, como el búfer de mensajes respaldado por disco y las opciones avanzadas del cliente MQTT, consulte Compatibilidad de la CLI de Azure con la configuración avanzada del corredor MQTT.
    Configuración del perfil de flujo de datos Opcional: edite la configuración predeterminada para los flujos de datos. Para obtener más información, consulte Configuración del perfil de flujo de datos.

    Recorte de pantalla que muestra la segunda pestaña para implementar operaciones de Azure IoT desde el portal.

  6. Seleccione Siguiente: Administración de dependencias.

  7. En la pestaña Administración de dependencias, seleccione un registro de esquemas existente o siga estos pasos para crear uno:

    1. Seleccione Crear nuevo.

    2. Proporcione un nombre del registro de esquema y un espacio de nombres del registro de esquema.

    3. Seleccione Seleccionar contenedor de Azure Storage.

    4. Elija una cuenta de almacenamiento en la lista de cuentas de espacio de nombres jerárquico o seleccione Crear para crear una.

      El registro de esquema requiere una cuenta de Azure Storage con el espacio de nombres jerárquico y el acceso a la red pública habilitados. Al crear una nueva cuenta de almacenamiento, elija un tipo de cuenta de almacenamiento de Propósito general v2 y establezca Espacio de nombres jerárquico en Habilitado.

    5. Seleccione un contenedor en la cuenta de almacenamiento o seleccione Contenedor para crear uno.

    6. Seleccione Aplicar para confirmar las configuraciones del registro de esquema.

  8. En la pestaña Administración de dependencias, seleccione la opción Configuración de prueba o Implementación de configuración segura. Si no está seguro de cuál es el adecuado para su escenario, revise las instrucciones de Detalles de implementación > Elija sus características.

    En función de su elección, siga los pasos para:

Implementar con la configuración de prueba

Siga estos pasos si eligió la opción Configuración de pruebas en la pestaña Administración de dependencias.

  1. Seleccione Siguiente: Automatización.

  2. De uno en uno, ejecute cada comando de la CLI de Azure en la pestaña Automatización de un terminal:

    1. Inicie sesión en la CLI de Azure de forma interactiva con un explorador aunque ya haya iniciado sesión antes. Si no inicia sesión de forma interactiva, es posible que reciba un error que indica Que el dispositivo debe administrarse para acceder al recurso.

      az login
      
    2. Instale la extensión más reciente de la CLI de Azure IoT Operations.

      az upgrade
      az extension add --upgrade --name azure-iot-ops
      
    3. Cree un registro de esquema que usarán los componentes de Azure IoT Operations. Copie y ejecute el comando az iot ops schema registry create proporcionado.

      Si decide usar un registro de esquema existente, este comando no se muestra en la pestaña Automatización.

    4. Prepare el clúster para la implementación de operaciones de Azure IoT. Copie y ejecute el comando az iot ops init proporcionado.

      Sugerencia

      El comando init solo debe ejecutarse una vez por clúster. Si va a reutilizar un clúster que ya tenía implementada la versión 0.8.0 de Azure IoT Operations, puede omitir este paso.

      Si ha seguido el requisito previo opcional para configurar su propio emisor de entidad de certificación, agregue la marca --user-trust al comando init.

      Este comando puede tardar varios minutos en completarse. Puede ver el progreso en la presentación del progreso de la implementación en el terminal.

    5. Implementación de Operaciones de IoT de Azure. Copie y ejecute el comando az iot ops createproporcionado.

      • Si ha seguido los requisitos previos opcionales para preparar el clúster para la observabilidad, agregue los siguientes parámetros al comando create:

        Parámetro Valor Descripción
        --ops-config observability.metrics.openTelemetryCollectorAddress=<FULLNAMEOVERRIDE>.azure-iot-operations.svc.cluster.local:<GRPC_ENDPOINT> Proporcione la dirección del recopilador OpenTelemetry (OTel) que configuró en el archivo otel-collector-values.yaml.

        Los valores de ejemplo usados en Configurar la observabilidad son fullnameOverride=aio-otel-collector y grpc.endpoint=4317.
        --ops-config observability.metrics.exportInternalSeconds=<CHECK_INTERVAL> Proporcione el valor check_interval que configuró en el archivo otel-collector-values.yaml.

        El valor de muestra utilizado en Configurar observabilidad es check_interval=60.
      • Si ha seguido los requisitos previos opcionales para configurar su propio emisor de entidad de certificación, agregue los parámetros --trust-settings al comando create:

        --trust-settings configMapName=<CONFIGMAP_NAME> configMapKey=<CONFIGMAP_KEY_WITH_PUBLICKEY_VALUE> issuerKind=<CLUSTERISSUER_OR_ISSUER> issuerName=<ISSUER_NAME>
        

      Este comando puede tardar varios minutos en completarse. Puede ver el progreso en la pantalla de progreso de implementación en el terminal.

  3. Una vez que todos los comandos de la CLI de Azure se completen correctamente, puede cerrar el asistente de Instalación de operaciones de IoT de Azure.

Una vez que el comando create se completa correctamente, tiene una instancia de operaciones de IoT de Azure en funcionamiento que se ejecuta en el clúster. En este momento, la instancia está configurada para la mayoría de los escenarios de prueba y evaluación.

Si en algún momento del futuro desea preparar la instancia para escenarios de producción, siga los pasos descritos en Habilitación de la configuración segura en una instancia de Azure IoT Operations existente.

Implementación con configuración segura

Siga estos pasos si eligió la opción Configuración segura en la pestaña Administración de dependencias.

  1. En la sección Opciones de implementación, proporcione la siguiente información:

    Parámetro Valor
    Suscripción Seleccione la suscripción que contiene el almacén de claves de Azure.
    Azure Key Vault Seleccione un almacén de claves de Azure o seleccione Crear nuevo.

    Asegúrese de que el almacén de claves tenga Control de acceso basado en roles de Azure como modelo de permisos. Para comprobar esta configuración, seleccione Administrar el almacén seleccionado>Configuración>Configuración de acceso.

    Asegúrese de conceder a su cuenta de usuario permisos para administrar secretos con el rol de Key Vault Secrets Officer.
    Identidad administrada asignada por el usuario para secretos Seleccione una identidad o seleccione Crear nuevo.
    Identidad administrada asignada por el usuario para los componentes de AIO Seleccione una identidad o seleccione Crear nuevo. No use la misma identidad administrada que la que seleccionó para los secretos.

    Recorte de pantalla que muestra la configuración segura en la tercera pestaña para implementar Operaciones de IoT de Azure desde el portal.

  2. Seleccione Siguiente: Automatización.

  3. De uno en uno, ejecute cada comando de la CLI de Azure en la pestaña Automatización de un terminal:

    1. Inicie sesión en la CLI de Azure de forma interactiva con un explorador aunque ya haya iniciado sesión antes. Si no inicia sesión de forma interactiva, es posible que se produzca un error indicando que Es necesario que el dispositivo se administre para acceder al recurso al continuar con el paso siguiente para implementar Operaciones de IoT de Azure.

      az login
      
    2. Instale la extensión más reciente de la CLI de Azure IoT Operations.

      az upgrade
      az extension add --upgrade --name azure-iot-ops
      
    3. Cree un registro de esquema que usarán los componentes de Azure IoT Operations. Copie y ejecute el comando az iot ops schema registry create proporcionado.

      Si decide usar un registro de esquema existente, este comando no se muestra en la pestaña Automatización.

      Nota:

      Este comando requiere que tenga permisos de escritura de asignación de roles porque asigna un rol para conceder acceso al registro de esquema a la cuenta de almacenamiento. De forma predeterminada, el rol es el rol integrado Colaborador de datos de Storage Blob, o puede crear un rol personalizado con permisos restringidos para asignar en su lugar. Para más información, consulte az iot ops schema registry create.

    4. Prepare el clúster para la implementación de operaciones de Azure IoT. Copie y ejecute el comando az iot ops init proporcionado.

      Sugerencia

      El comando init solo debe ejecutarse una vez por clúster. Si va a reutilizar un clúster que ya tenía implementada la versión 0.8.0 de Azure IoT Operations, puede omitir este paso.

      Este comando puede tardar varios minutos en completarse. Puede ver el progreso en la presentación del progreso de la implementación en el terminal.

    5. Implementación de Operaciones de IoT de Azure. Copie y ejecute el comando az iot ops createproporcionado.

      Si ha seguido los requisitos previos opcionales para preparar el clúster para la observabilidad, agregue los siguientes parámetros opcionales al comando create:

      Parámetro opcional Valor Descripción
      --ops-config observability.metrics.openTelemetryCollectorAddress=<FULLNAMEOVERRIDE>.azure-iot-operations.svc.cluster.local:<GRPC_ENDPOINT> Proporcione la dirección del recopilador OpenTelemetry (OTel) que configuró en el archivo otel-collector-values.yaml.

      Los valores de ejemplo usados en Configurar la observabilidad son fullnameOverride=aio-otel-collector y grpc.endpoint=4317.
      --ops-config observability.metrics.exportInternalSeconds=<CHECK_INTERVAL> Proporcione el valor check_interval que configuró en el archivo otel-collector-values.yaml.

      El valor de muestra utilizado en Configurar observabilidad es check_interval=60.

      Este comando puede tardar varios minutos en completarse. Puede ver el progreso en la pantalla de progreso de implementación en el terminal.

    6. Habilite la sincronización de secretos para la instancia de Azure IoT Operations implementada. Copie y ejecute el comando az iot ops secretsync enableproporcionado.

      Este comando:

      • Crea una credencial de identidad federada utilizando la identidad administrada asignada por el usuario.
      • Agrega una asignación de roles a la identidad administrada asignada por el usuario para acceder a Azure Key Vault.
      • Agrega una clase de proveedor de secretos mínima asociada a la instancia de operaciones de IoT de Azure.
    7. Asigne una identidad administrada asignada por el usuario a la instancia de Azure IoT Operations implementada. Copie y ejecute el comando az iot ops identity assignproporcionado.

      Este comando crea una credencial de identidad federada mediante el emisor OIDC del clúster conectado indicado y la cuenta de servicio de operaciones de Azure IoT.

  4. Una vez que todos los comandos de la CLI de Azure se completen correctamente, puede cerrar el asistente de Instalación de operaciones de IoT de Azure.

Una vez que el comando create se completa correctamente, tiene una instancia de operaciones de IoT de Azure en funcionamiento que se ejecuta en el clúster. En este momento, la instancia está configurada para escenarios de producción.

Comprobación de la implementación

Una vez completada la implementación, use az iot ops check para evaluar la implementación del servicio IoT Operations para el estado, la configuración y la facilidad de uso. El comando comprobar puede ayudarle a encontrar problemas en la implementación y configuración.

az iot ops check

El comando check muestra una advertencia sobre los flujos de datos que faltan, lo cual es normal y previsible hasta que se crea un flujo de datos. Para obtener más información, consulte Procesamiento y enrutamiento de datos con flujos de datos.

Para comprobar las configuraciones de asignaciones de temas, QoS y rutas de mensajes, agregue el parámetro --detail-level 2 al comando check para obtener una vista detallada.

Pasos siguientes

Si los componentes necesitan conectarse a puntos de conexión de Azure como SQL o Fabric, aprenda a Administrar secretos para la implementación de Operaciones de IoT de Azure.