Partager via


Préparer votre cluster Kubernetes avec Azure Arc

Important

Opérations Azure IoT Préversion avec Azure Arc est actuellement en préversion. Vous ne devez pas utiliser ce logiciel en préversion dans des environnements de production.

Lorsqu’une version en disponibilité générale sera publiée, vous devrez déployer une nouvelle installation d’Opérations Azure IoT. Vous ne pourrez pas mettre à niveau une installation en préversion.

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.

Un cluster Kubernetes avec Azure Arc est un prérequis pour le déploiement d’Opérations Azure IoT (préversion). Cet article explique comment préparer un cluster avant de Déployer Opérations Azure IoT (préversion) sur un cluster Kubernetes avec Arc. Cet article contient des conseils pour Ubuntu et Windows.

Conseil

Les étapes décrites dans cet article préparent votre cluster pour un déploiement de paramètres sécurisés, qui est un processus plus long mais prêt pour la production. Si vous souhaitez déployer rapidement Opérations Azure IoT et exécuter un exemple de charge de travail avec uniquement des paramètres de test, consultez plutôt Démarrage rapide : exécuter Opérations Azure IoT (préversion) dans GitHub Codespaces avec K3s.

Pour plus d’informations sur les paramètres de test et les paramètres sécurisés, consultez Détails du déploiement > Choisir vos fonctionnalités.

Prérequis

Opérations Azure IoT devrait fonctionner sur n’importe quel cluster Kubernetes avec Arc répondant à la configuration requise pour Kubernetes avec Azure Arc. Actuellement, Opérations Azure IoT ne prend pas en charge les architectures Arm64.

Microsoft prend en charge Azure Kubernetes Service (AKS) Edge Essentials pour les déploiements sur Windows et K3s pour les déploiements sur Ubuntu. Pour obtenir la liste des combinaisons matérielles et logicielles spécifiques testées et validées, consultez Environnements validés.

Si vous souhaitez déployer Opérations Azure IoT sur une solution à plusieurs nœuds, utilisez K3s sur Ubuntu.

Pour préparer votre cluster Kubernetes avec Azure Arc, vous devez disposer des éléments suivants :

Créer un cluster

Cette section fournit des étapes pour créer des clusters dans des environnements validés sur Linux et Windows.

Azure Kubernetes Service Edge Essentials est une implémentation Kubernetes locale d’Azure Kubernetes Service (AKS), qui automatise l’exécution d’applications conteneurisées à grande échelle. AKS Edge Essentials inclut une plateforme Kubernetes prise en charge par Microsoft qui inclut une distribution Kubernetes légère avec une petite empreinte et une expérience d’installation simple qui prend en charge un matériel de périphérie « léger » ou de classe PC.

Le script AksEdgeQuickStartForAio.ps1 automatise le processus de création et de connexion d’un cluster, et est le chemin recommandé pour le déploiement d’Opérations Azure IoT sur AKS Edge Essentials.

  1. Ouvrez une fenêtre PowerShell avec élévation de privilèges et remplacez le répertoire par un dossier de travail.

  2. Récupérez l’élément objectId de l’application Microsoft Entra ID utilisée par le service Azure Arc dans votre tenant. Exécutez la commande suivante exactement comme elle est écrite, sans changer la valeur GUID.

    az ad sp show --id bc313c14-388c-4e7d-a58e-70017303ee3b --query id -o tsv
    
  3. Exécutez les commandes suivantes, en remplaçant les valeurs d’espace réservé par vos informations :

    Paramètre substituable Valeur
    SUBSCRIPTION_ID ID de votre abonnement Azure. Si vous ne connaissez pas votre ID d’abonnement, consultez Trouver votre abonnement Azure.
    TENANT_ID ID de votre locataire Microsoft Entra. Si vous ne connaissez pas votre ID de locataire, consultez Trouver votre locataire Microsoft Entra.
    RESOURCE_GROUP_NAME Nom d’un groupe de ressources existant ou d’un groupe de ressources à créer.
    LOCATION Une région Azure proche de vous. Pour obtenir la liste des régions Azure actuellement prises en charge, consultez Régions prises en charge.
    CLUSTER_NAME Nom du cluster à créer.
    ARC_APP_OBJECT_ID Valeur d’ID d’objet que vous avez récupérée à l’étape précédente.
    $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>"
    

    S’il existe des problèmes pendant le déploiement, notamment si votre ordinateur redémarre dans le cadre de ce processus, réexécutez l’ensemble des commandes.

  4. Exécutez les commandes suivantes pour vérifier que le déploiement a réussi :

    Import-Module AksEdge
    Get-AksEdgeDeploymentInfo
    

    Dans la sortie de la commande Get-AksEdgeDeploymentInfo, vous devez voir que l’état Arc du cluster est Connected.

Activer votre cluster avec Arc

Connectez votre cluster à Azure Arc afin qu’il puisse être géré à distance.

Le script AksEdgeQuickStartForAio.ps1 que vous avez exécuté dans la section précédente a géré les étapes de connexion de votre cluster. Vous n’avez pas besoin d’effectuer des étapes supplémentaires pour activer Arc.

Vérifier votre cluster

Pour vérifier que votre cluster est prêt pour le déploiement d’Opérations Azure IoT, vous pouvez utiliser la commande d’assistance verify-host dans l’extension Opérations Azure IoT pour Azure CLI. Lorsqu’elle est exécutée sur l’hôte de cluster, cette commande d’assistance vérifie la connectivité aux points de terminaison Azure Resource Manager et Microsoft Container Registry.

az iot ops verify-host

Pour vérifier que votre cluster Kubernetes est activé pour Azure Arc, exécutez la commande suivante :

kubectl get deployments,pods -n azure-arc

La sortie ressemble à l’exemple suivant :

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

Étapes suivantes

Maintenant que vous disposez d’un cluster Kubernetes avec Azure Arc, vous pouvez déployer Opérations Azure IoT.