Partager via


Orchestrateur Azure IoT (préversion) – manifestes

Important

Opérations Azure IoT (préversion) – activé parc Azure Arc est actuellement en PRÉVERSION. Vous ne devez pas utiliser ce logiciel en préversion dans des environnements de production.

Pour connaître les conditions juridiques qui s’appliquent aux fonctionnalités Azure en version bêta, en préversion ou plus généralement non encore en disponibilité générale, consultez l’Avenant aux conditions d’utilisation des préversions de Microsoft Azure.

Le service Orchestrateur Azure IoT (préversion) étend les fonctionnalités de gestion des ressources d’Azure au-delà du cloud. Grâce au service d’orchestration, les clients peuvent définir et gérer leur infrastructure de périphérie à l’aide des mêmes fichiers manifestes Arm qu’ils utilisent aujourd’hui pour gérer les ressources cloud. Deux principaux types de ressources sont utilisées pour l’orchestration : les cibles et les solutions. Ensemble, ces ressources définissent l’état souhaité d’un environnement de périphérie.

Cible

Une cible est un environnement de déploiement spécifique, tel qu’un cluster Kubernetes ou un périphérique. Il décrit les composants d’infrastructure, c’est-à-dire des composants qui ont été installés sur un appareil, comme PowerShell ou Processeur de données Azure IoT (préversion). Chaque cible a ses propres paramètres de configuration qui peuvent être personnalisés pour répondre aux besoins spécifiques de l’environnement de déploiement. Une cible spécifie également des liaisons de fournisseur qui définissent les types de ressources à gérer sur la cible (par exemple, Helm, scripts PowerShell, K8, CR ou scripts Bash).

Pour créer une ressource cible pour un cluster K8s avec Arc, ajoutez le JSON de définition de ressource à un modèle Azure Resource Manager. L’exemple suivant crée une ressource cible qui définit plusieurs composants et liaisons.

{
  "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"
    }
  }
}

Paramètres de la cible

Paramètre Description
type Type de ressource : Microsoft.IoTOperationsOrchestrator/Targets.
name Nom de la ressource cible.
location Nom de la région où la ressource cible sera créée.
apiVersion Utilisez l’API version 2023-10-04-preview.
extendedLocation Abstraction d’un espace de noms qui réside sur le cluster avec Arc. Pour créer des ressources sur le cluster avec Arc, vous devez d’abord créer un emplacement personnalisé.
tags Balises de ressource facultatives.
properties Liste des propriétés de la ressource cible. Pour plus d’informations, consultez le tableau des paramètres de propriétés suivant.

Paramètres des propriétés d’une cible

Paramètres de propriétés Description
version Champ de métadonnées facultatif pour faire le suivi des versions cibles.
scope Espace de noms du cluster.
appareillage de commutation Liste des composants utilisés pendant le déploiement et leurs détails. Pour plus d’informations, consultez Fournisseurs et composants.
topologies Liste des liaisons qui connectent un groupe d’appareils ou de cibles à un rôle. Pour plus d’informations, consultez le tableau des paramètres topologies.bindings suivant.
reconciliationPolicy Période d’intervalle indiquant la fréquence à laquelle le gestionnaire des ressources Orchestrator recherche un état souhaité mis à jour. La période minimale est d’une minute.

Paramètres topologies.bindings d’une cible

Le paramètre topologies d’une cible contient un objet bindings qui fournit des détails sur la façon de se connecter à différentes cibles. Le tableau suivant décrit les paramètres de l’objet bindings :

Paramètre Properties.topologies.bindings Description
role Rôle de la cible connectée.

La même entité en tant que cible ou appareil peut assumer différents rôles dans différents contextes, ce qui signifie que plusieurs liaisons peuvent être définies à des fins différentes. Par exemple, une cible peut utiliser un chart Helm pour les déploiements de charges utiles et ADU pour les mises à jour des appareils. Dans de tels cas, deux liaisons sont créées : une pour le rôle deployment et une pour le rôle update, avec les configurations de fournisseur correspondantes.
provider Nom du fournisseur qui gère la connexion spécifique.
config Détails de configuration utilisés pour établir une connexion à une cible spécifique. La configuration diffère en fonction du type du fournisseur. Pour plus d’informations, consultez Fournisseurs et composants.

Solution

Une solution est un modèle qui définit la charge de travail d’application qui peut être déployée sur une ou plusieurs cibles. Par conséquent, une solution décrit les composants d’application (par exemple, les éléments qui utilisent les composants d’infrastructure définis dans la cible comme des scripts PowerShell ou des pipelines Azure IoT Data Processor).

Pour créer une ressource de solution, ajoutez le JSON de définition de ressource à un modèle Azure Resource Manager. L’exemple suivant crée une ressource de solution qui définit deux composants, l’un étant dépendant de l’autre.

{
  "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"]
      }
    ]
  }
}

Paramètres de solution

Paramètre Description
type Type de ressource : Microsoft.IoTOperationsOrchestrator/Solutions.
name Nom de la ressource de solution.
location Nom de la région dans laquelle la ressource de solution sera créée.
apiVersion Utilisez l’API version 2023-10-04-preview.
extendedLocation Abstraction d’un espace de noms qui réside sur le cluster avec Arc. Pour créer des ressources sur le cluster avec Arc, vous devez d’abord créer un emplacement personnalisé.
tags Balises de ressource facultatives.
properties Liste des propriétés de la ressource de solution. Pour plus d’informations, consultez le tableau des paramètres de propriétés suivant.

Paramètres des propriétés d’une solution

Paramètres de propriétés Description
version Champ de métadonnées facultatif pour faire le suivi des versions d’une solution.
appareillage de commutation Liste des composants créés dans le déploiement et leurs détails. Pour plus d’informations, consultez Fournisseurs et composants.

Instance

Une instance est un déploiement spécifique d’une solution vers une cible. Elle peut être considérée comme une instance d’une solution.

Pour créer une ressource d’instance, ajoutez le JSON de définition de ressource à un modèle Azure Resource Manager. L’exemple suivant montre une instance qui déploie une solution nommée *mySolution sur le cluster cible nommé 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": "myTarget"
    },
    "reconciliationPolicy": {
      "type": "periodic",
      "interval": "1h"
    }
  }
}

Paramètres d’instance

Paramètre Description
type Type de ressource : Microsoft.IoTOperationsOrchestrator/Instances.
name Nom de la ressource d’instance.
location Nom de la région dans laquelle la ressource d’instance sera créée.
apiVersion Utilisez l’API version 2023-10-04-preview.
extendedLocation Abstraction d’un espace de noms qui réside sur le cluster avec Arc. Pour créer des ressources sur le cluster avec Arc, vous devez d’abord créer un emplacement personnalisé.
tags Balises de ressource facultatives.
properties Liste des propriétés de la ressource d’instance. Pour plus d’informations, consultez le tableau des paramètres de propriétés suivant.

Paramètres des propriétés d’une instance

Paramètres de propriétés Description
version Champ de métadonnées facultatif pour faire le suivi des versions d’instance.
scope Espace de noms du cluster.
Solution Nom de la solution utilisée pour le déploiement.
cible Nom de la ou des cibles sur lesquelles la solution sera déployée.
reconciliationPolicy Période d’intervalle indiquant la fréquence à laquelle le gestionnaire des ressources Orchestrator recherche un état souhaité mis à jour. La période minimale est d’une minute.

Composants

Les composants correspondent à toute ressource pouvant être gérée par l’orchestrateur. Les composants sont référencés dans les manifestes de la solution et de la cible. Si un composant est réutilisé dans une solution, par exemple dans le cadre d’un pipeline, vous devez l’inclure dans le manifeste de la solution. Si un composant est déployé une fois dans le cadre de la configuration d’un environnement, vous devez l’inclure dans le manifeste de la cible.

Paramètre Description
name Nom du composant.
type Type du composant. Par exemple, helm.v3 ou yaml.k8s.
properties Détails du composant géré.
dependencies Liste des composants dont dépend ce composant actuel.

Les propriétés d’un composant donné dépendent du type de composant géré. Pour en savoir plus sur les différents types de composants, consultez Fournisseurs et composants.