Azure IoT Orchestrator (Preview) – Manifeste
Wichtig
Die von Azure Arc aktivierte Azure IoT Operations Preview befindet sich derzeit in der VORSCHAU. Sie sollten diese Vorschausoftware nicht in Produktionsumgebungen verwenden.
Die zusätzlichen Nutzungsbestimmungen für Microsoft Azure-Vorschauen enthalten rechtliche Bedingungen. Sie gelten für diejenigen Azure-Features, die sich in der Beta- oder Vorschauversion befinden oder aber anderweitig noch nicht zur allgemeinen Verfügbarkeit freigegeben sind.
Der Azure IoT Orchestrator (Preview)-Dienst erweitert die Ressourcenverwaltungsfunktionen von Azure über die Cloud hinaus. Über den Orchestrierungsdienst können Kunden ihre Edgeinfrastruktur mithilfe der gleichen Arm-Manifestdateien definieren und verwalten, die sie heute zum Verwalten von Cloudressourcen verwenden. Es gibt zwei Haupttypen von Ressourcen, die für die Orchestrierung verwendet werden: Ziele und Lösungen. Zusammen definieren diese Ressourcen den gewünschten Zustand einer Edgeumgebung.
Ziel
Ein Ziel ist eine bestimmte Bereitstellungsumgebung, z. B. ein Kubernetes-Cluster oder ein Edgegerät. Sie beschreibt Infrastrukturkomponenten, d. h. Komponenten, die einmal auf einem Gerät installiert werden, wie PowerShell oder Azure IoT-Datenprozessor (Preview). Jedes Ziel verfügt über eigene Konfigurationseinstellungen, die an die spezifischen Anforderungen der Bereitstellungsumgebung angepasst werden können. Außerdem werden Anbieterbindungen angegeben, die definieren, welche Ressourcentypen für das Ziel verwaltet werden sollen (z. B. Helm, PowerShell-Skripts, K8s, CRs oder Bash-Skripts).
Um eine Zielressource für einen Arc-fähigen K8s-Cluster zu erstellen, fügen Sie der Azure Resource Manager-Vorlage die JSON der Ressourcendefinition hinzu. Das folgende Beispiel erstellt eine Zielressource, die mehrere Komponenten und Bindungen definiert.
{
"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"
}
}
}
Zielparameter
Parameter | Beschreibung |
---|---|
Typ | Ressourcentyp: Microsoft.IoTOperationsOrchestrator/Targets. |
name | Name für die Zielressource. |
location | Name der Region, in der die Zielressource erstellt werden wird. |
apiVersion | Ressourcen-API-Version 2023-10-04-preview. |
extendedLocation | Eine Abstraktion eines Namespaces, der sich im ARC-fähigen Cluster befindet. Zum Erstellen von Ressourcen im ARC-fähigen Cluster muss zuerst ein benutzerdefinierter Speicherort erstellt werden. |
Tags | Optionale Ressourcentags. |
properties | Liste der Eigenschaften für die Zielressource. Weitere Informationen finden Sie in der folgenden Eigenschaftenparametertabelle. |
Zieleigenschaftenparameter
Eigenschaftenparameter | Beschreibung |
---|---|
version | Optionales Metadatenfeld zum Nachverfolgen von Zielversionen. |
scope | Namespace des Clusters. |
komponenten | Liste der Komponenten und ihrer Details, die während der Bereitstellung verwendet werden. Weitere Informationen finden Sie unter Anbieter und Komponenten. |
topologies | Liste der Bindungen, die eine Gruppe von Geräten oder Zielen mit einer Rolle verbinden. Weitere Informationen finden Sie in der folgenden topologies.bindings-Parametertabelle. |
reconciliationPolicy | Ein Intervallzeitraum, wie häufig der Orchestrator-Ressourcenmanager nach einem aktualisierten gewünschten Zustand sucht. Der Mindestzeitraum beträgt eine Minute. |
Ziel-topologies.bindings-Parameter
Der Parameter Topologien eines Ziels enthält ein Bindungsobjekt, das Details zum Herstellen einer Verbindung mit verschiedenen Zielen bereitstellt. In der folgenden Tabelle werden Objektparameter für Bindungen beschrieben:
Properties.topologies.bindings-Parameter | Beschreibung |
---|---|
role | Rolle des Ziels, das verbunden wird. Die gleiche Entität wie ein Ziel oder ein Gerät kann unterschiedliche Rollen in verschiedenen Kontexten annehmen, was bedeutet, dass mehrere Bindungen für unterschiedliche Zwecke definiert werden können. Beispielsweise könnte ein Ziel ein Helm-Diagramm für Nutzdatenbereitstellungen und ADU für Geräteupdates verwenden. In solchen Fällen werden zwei Bindungen erstellt: eine für die Rolle Bereitstellung und eine für die Rolle Update mit entsprechenden Anbieterkonfigurationen. |
Anbieter | Name des Anbieters, der die spezifische Verbindung behandelt. |
config | Konfigurationsdetails, die verwendet werden, um eine Verbindung mit einem bestimmten Ziel herzustellen. Die Konfiguration unterscheidet sich je nach Anbietertyp. Weitere Informationen finden Sie unter Anbieter und Komponenten. |
Lösung
Eine Lösung ist eine Vorlage, welche die Anwendungsworkload definiert, die auf einem oder mehreren Zielen bereitgestellt werden kann. Daher beschreibt eine Lösung Anwendungskomponenten (z. B. Dinge, welche die infrastrukturellen Komponenten verwenden, die im Ziel definiert sind, z. B. PowerShell-Skripts oder Azure IoT-Datenprozessorpipelines).
Um eine Lösungsressource zu erstellen, fügen Sie der Azure Resource Manager-Vorlage die JSON der Ressourcendefinition hinzu. Im folgenden Beispiel wird eine Lösungsressource erstellt, die zwei Komponenten definiert, von denen eine von der anderen abhängig ist.
{
"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"]
}
]
}
}
Lösungsparameter
Parameter | Beschreibung |
---|---|
Typ | Ressourcentyp: Microsoft.IoTOperationsOrchestrator/Solutions. |
name | Name für die Lösungsressource. |
location | Name der Region, in der die Lösungsressource erstellt werden wird. |
apiVersion | Ressourcen-API-Version 2023-10-04-preview. |
extendedLocation | Eine Abstraktion eines Namespaces, der sich im ARC-fähigen Cluster befindet. Zum Erstellen von Ressourcen im ARC-fähigen Cluster muss zuerst ein benutzerdefinierter Speicherort erstellt werden. |
Tags | Optionale Ressourcentags. |
properties | Liste der Eigenschaften für die Lösungsressource. Weitere Informationen finden Sie in der folgenden Eigenschaftenparametertabelle. |
Parameter für Lösungseigenschaften
Eigenschaftenparameter | Beschreibung |
---|---|
version | Optionales Metadatenfeld zum Nachverfolgen von Lösungsversionen. |
komponenten | Liste der in der Bereitstellung erstellen Komponenten und ihrer Details. Weitere Informationen finden Sie unter Anbieter und Komponenten. |
Instanz
Eine Instanz ist eine bestimmte Bereitstellung einer Lösung für ein Ziel. Sie kann als Instanz einer Lösung betrachtet werden.
Um eine Instanzenressource zu erstellen, fügen Sie der Azure Resource Manager-Vorlage die JSON der Ressourcendefinition hinzu. Das folgende Beispiel zeigt eine Instanz, die eine Lösung namens *mySolution im Zielcluster mit dem Namen myTarget bereitstellt:
{
"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"
}
}
}
Instanzenparameter
Parameter | Beschreibung |
---|---|
Typ | Ressourcentyp: Microsoft.IoTOperationsOrchestrator/Instances. |
name | Name für die Instanzenressource. |
location | Name der Region, in der die Instanzenressource erstellt wird. |
apiVersion | Ressourcen-API-Version 2023-10-04-preview. |
extendedLocation | Eine Abstraktion eines Namespaces, der sich im ARC-fähigen Cluster befindet. Zum Erstellen von Ressourcen im ARC-fähigen Cluster muss zuerst ein benutzerdefinierter Speicherort erstellt werden. |
Tags | Optionale Ressourcentags. |
properties | Liste der Eigenschaften für die Instanzenressource. Weitere Informationen finden Sie in der folgenden Eigenschaftenparametertabelle. |
Parameter für Instanzeneigenschaften
Eigenschaftenparameter | Beschreibung |
---|---|
version | Optionales Metadatenfeld zum Nachverfolgen von Instanzenversionen. |
scope | Namespace des Clusters. |
Lösung | Name der Lösung, die für die Bereitstellung verwendet wird. |
target | Name des Ziels oder der Ziele, für welche(s) die Lösung bereitgestellt wird. |
reconciliationPolicy | Ein Intervallzeitraum, wie häufig der Orchestrator-Ressourcenmanager nach einem aktualisierten gewünschten Zustand sucht. Der Mindestzeitraum beträgt eine Minute. |
Komponenten
Komponenten sind alle Ressourcen, die vom Orchestrator verwaltet werden können. Komponenten werden in Manifesten sowohl für die Lösung wie auch das Ziel referenziert. Wenn eine Komponente in einer Lösung wiederverwendet wird, z. B. als Teil einer Pipeline, sollten Sie diese in das Lösungsmanifest einschließen. Wenn eine Komponente einmal als Teil des Setup einer Umgebung bereitgestellt wird, sollten Sie diese in das Zielmanifest einschließen.
Parameter | Beschreibung |
---|---|
name | Der Name der Komponente. |
Typ | Typ der Komponente. Beispielsweise helm.v3 oder yaml.k8s. |
properties | Details zur verwalteten Komponente. |
Abhängigkeiten | Liste aller Komponenten, von denen diese aktuelle Komponente abhängig ist. |
Die Eigenschaften einer bestimmten Komponente hängen vom verwalteten Komponententyp ab. Weitere Informationen zu den verschiedenen Komponententypen finden Sie unter Anbieter und Komponenten.
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Tickets als Feedbackmechanismus für Inhalte auslaufen lassen und es durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unter:Einreichen und Feedback anzeigen für