Compartir vía


Versión preliminar de Azure IoT Orchestrator: manifiestos

Importante

Operaciones de IoT de Azure, habilitado 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.

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.

El servicio Azure IoT Orchestrator, versión preliminar, amplía las capacidades de administración de recursos de Azure más allá de la nube. A través del servicio de orquestación, los clientes pueden definir y administrar su infraestructura perimetral con los mismos archivos de manifiesto de Arm que usan para administrar los recursos de nube en la actualidad. Hay dos tipos principales de recursos que se usan para la orquestación: destinos y soluciones. Juntos, estos recursos definen el estado deseado de un entorno perimetral.

Destino

Un destino es un entorno de implementación específico, como un clúster de Kubernetes o un dispositivo perimetral. Describe componentes infraestructurales, que son componentes instalados una vez en un dispositivo, como PowerShell o la versión preliminar del Procesador de datos de IoT de Azure. Cada destino tiene sus propias opciones de configuración, que se pueden personalizar para satisfacer las necesidades específicas del entorno de implementación. También especifica enlaces de proveedor que definen qué tipos de recursos se administrarán en el destino (por ejemplo: Helm, scripts de PowerShell, K8s, CRs o scripts de Bash).

Para crear un recurso de destino para un clúster K8s habilitado para Arc, agregue el JSON de definición de recursos a una plantilla de Azure Resource Manager. En el ejemplo siguiente, se crea un recurso de destino que define varios componentes y enlaces.

{
  "type": "Microsoft.IoTOperationsOrchestrator/Targets",
  "name": "myTarget",
  "location": "eastus",
  "apiVersion": "2023-10-04-preview",
  "extendedLocation": { ... },
  "tags": {},
  "properties": {
    "version": "1.0.0",
    "scope": "myNamespace",
    "components": [
      {
        "name": "myHelmChart",
        "type": "helm.v3",
        "properties": {
          "chart": {
            "repo": "oci://azureiotoperations.azurecr.io/simple-chart",
            "version": "0.1.0"
          },
          "values": {}
        },
        "dependencies": []
      },
      {
        "name": "myCustomResource",
        "type": "yaml.k8s",
        "properties": {
          "resource": {
            "apiVersion": "v1",
            "kind": "ConfigMap",
            "data": {
                "key": "value"
            }
          }
        },
        "dependencies": ["myHelmChart"]
      }
    ],
    "topologies": [
      {
        "bindings": [
          {
            "role": "instance",
            "provider": "providers.target.k8s",
            "config": {
              "inCluster": "true"
            }
          },
          {
            "role": "helm.v3",
            "provider": "providers.target.helm",
            "config": {
              "inCluster": "true"
            }
          },
          {
            "role": "yaml.k8s",
            "provider": "providers.target.kubectl",
            "config": {
              "inCluster": "true"
            }
          }
        ]
      }
    ],
    "reconciliationPolicy": {
      "type": "periodic",
      "interval": "20m"
    }
  }
}

Parámetros de destino

Parámetro Descripción
type Tipo de recurso: Microsoft.IoTOperationsOrchestrator/Targets.
name Nombre del recurso de destino.
ubicación Nombre de la región donde se creará el recurso de destino.
apiVersion Versión de API 2023-10-04-preview.
extendedLocation Abstracción de un espacio de nombres que reside en el clúster habilitado para ARC. Para crear cualquier recurso en el clúster habilitado para ARC, primero se debe crear una ubicación personalizada.
etiquetas Etiquetas de recursos opcionales.
properties Lista de propiedades para el recurso de destino. Para obtener más información, consulte la tabla de parámetros de propiedades siguiente.

Parámetros de propiedades de destino

Parámetro Properties Descripción
version Campo de metadatos opcional para realizar un seguimiento de las versiones de destino.
scope Espacio de nombres del clúster.
de alarma Lista de componentes usados durante la implementación y sus detalles. Para obtener más información, consulte Proveedores y componentes.
topologies Lista de enlaces, que conectan un grupo de dispositivos o destinos a un rol. Para obtener más información, consulte la tabla de parámetros topologies.bindings siguiente.
reconciliationPolicy Un período de intervalo para la frecuencia con la que el administrador de recursos de Orchestrator debe comprobar si hay un estado deseado actualizado. El período mínimo es de un minuto.

Parámetros topologies.bindings de destino

El parámetro topologías de un destino contiene un objeto enlaces, que proporciona detalles sobre cómo conectarse a diferentes destinos. En la tabla siguiente se describen los parámetros del objeto enlaces:

Parámetro Properties.topologies.bindings Descripción
rol Rol del destino que se está conectando.

La misma entidad que un destino o un dispositivo puede asumir roles diferentes en contextos diferentes, lo que significa que se pueden definir varios enlaces con distintos fines. Por ejemplo, un destino podría usar un gráfico de Helm para implementaciones de carga y ADU para las actualizaciones de dispositivos. En tales casos, se crean dos enlaces: uno para el rol de implementación y otro para el rol de actualización, con las configuraciones de proveedor correspondientes.
provider Nombre del proveedor que controla la conexión específica.
config Detalles de configuración usados para establecer una conexión con un destino específico. La configuración difiere en función del tipo del proveedor. Para obtener más información, consulte Proveedores y componentes.

Solución

Una solución es una plantilla que define la carga de trabajo de la aplicación que se puede implementar en uno o varios destinos. Por lo tanto, una solución describe los componentes de la aplicación (por ejemplo, elementos que usan los componentes de infraestructura definidos en el destino, como scripts de PowerShell o canalizaciones del Procesador de datos de Azure IoT).

Para crear un recurso de solución, agregue el JSON de definición de recursos a una plantilla de Azure Resource Manager. En el ejemplo siguiente, se crea un recurso de solución que define dos componentes, uno de los cuales depende del otro.

{
  "type": "Microsoft.IoTOperationsOrchestrator/Solutions",
  "name": "mySolution",
  "location": "eastus",
  "apiVersion": "2023-10-04-preview",
  "extendedLocation": { ... },
  "tags": {},
  "properties": {
    "version": "1.0.0",
    "components": [
      {
        "name": "myHelmChart",
        "type": "helm.v3",
        "properties": {
          "chart": {
            "repo": "oci://azureiotoperations.azurecr.io/simple-chart",
            "version": "0.1.0"
          },
          "values": {}
        },
        "dependencies": []
      },
      {
        "name": "myCustomResource",
        "type": "yaml.k8s",
        "properties": {
          "resource": {
            "apiVersion": "v1",
            "kind": "ConfigMap",
            "data": {
                "key": "value"
            }
          }
        },
        "dependencies": ["myHelmChart"]
      }
    ]
  }
}

Parámetros de solución

Parámetro Descripción
type Tipo de recurso: Microsoft.IoTOperationsOrchestrator/Solutions.
name Nombre del recurso de solución.
ubicación Nombre de la región donde se creará el recurso de solución.
apiVersion Versión de API 2023-10-04-preview.
extendedLocation Abstracción de un espacio de nombres que reside en el clúster habilitado para ARC. Para crear cualquier recurso en el clúster habilitado para ARC, primero se debe crear una ubicación personalizada.
etiquetas Etiquetas de recursos opcionales.
properties Lista de propiedades para el recurso de solución. Para obtener más información, consulte la tabla de parámetros de propiedades siguiente.

Parámetros de propiedades de solución

Parámetro Properties Descripción
version Campo de metadatos opcional para realizar un seguimiento de las versiones de solución.
de alarma Lista de componentes creados en la implementación y sus detalles. Para obtener más información, consulte Proveedores y componentes.

Instancia

Una instancia es una implementación específica de una solución en un destino. Se puede considerar como una instancia de una solución.

Para crear un recurso de instancia, agregue el JSON de definición de recursos a una plantilla de Azure Resource Manager. En el ejemplo siguiente, se muestra una instancia que implementa una solución denominada *mySolution en el clúster de destino denominado myTarget:

{
  "type": "Microsoft.IoTOperationsOrchestrator/Instances",
  "name": "myInstance",
  "location": "eastus",
  "apiVersion": "2023-10-04-preview",
  "extendedLocation": { ... },
  "tags": {},
  "properties": {
    "version": "1.0.0",
    "scope": "myNamespace",
    "solution": "mySolution",
    "target": {
      "name": "myInstance"
    },
    "reconciliationPolicy": {
      "type": "periodic",
      "interval": "1h"
    }
  }
}

Parámetros de instancia

Parámetro Descripción
type Tipo de recurso: Microsoft.IoTOperationsOrchestrator/Instances.
name Nombre del recurso de instancia.
ubicación Nombre de la región donde se creará el recurso de instancia.
apiVersion Versión de API 2023-10-04-preview.
extendedLocation Abstracción de un espacio de nombres que reside en el clúster habilitado para ARC. Para crear cualquier recurso en el clúster habilitado para ARC, primero se debe crear una ubicación personalizada.
etiquetas Etiquetas de recursos opcionales.
properties Lista de propiedades para el recurso de instancia. Para obtener más información, consulte la tabla de parámetros de propiedades siguiente.

Parámetros de propiedades de instancia

Parámetro Properties Descripción
version Campo de metadatos opcional para realizar un seguimiento de las versiones de instancia.
scope Espacio de nombres del clúster.
solution Nombre de la solución usada para la implementación.
Destino Nombre del destino o destinos en los que se implementará la solución.
reconciliationPolicy Un período de intervalo para la frecuencia con la que el administrador de recursos de Orchestrator debe comprobar si hay un estado deseado actualizado. El período mínimo es de un minuto.

Componentes

Los componentes son cualquier recurso que el orquestador pueda administrar. Se hace referencia a los componentes, tanto en los manifiestos de solución como de destino. Si se está reutilizando un componente en una solución, como parte de una canalización, se debería incluir en el manifiesto de la solución. Si un componente se implementa una vez como parte de la configuración de un entorno, se debería incluir en el manifiesto de destino.

Parámetro Descripción
name Nombre del componente.
type Tipo del componente. Por ejemplo: helm.v3 o yaml.k8s.
properties Detalles del componente que se esté administrando.
dependencies Lista de cualquier componente del que este componente actual dependa.

Las propiedades de un componente determinado dependen del tipo de componente que se administre. Para obtener más información sobre los distintos tipos de componentes, consulte Proveedores y componentes.