Créer et configurer un cluster AKS Edge Essentials qui peut exécuter des opérations Azure IoT
Azure Kubernetes Service (AKS) Edge Essentials est l’une des plateformes de cluster prises en charge pour les opérations Azure IoT. Vous pouvez utiliser AKS Edge Essentials pour créer un cluster Kubernetes géré par Microsoft et déployer Azure IoT Operations sur celui-ci en tant que charge de travail. Cet article décrit les étapes d’exécution d’un script qui crée un cluster Kubernetes AKS Edge Essentials avec les configurations requises pour Azure IoT Operations, puis connecte ce cluster à Azure Arc.
Remarque
Azure IoT Operations prend en charge AKS Edge Essentials lors du déploiement sur des clusters à ordinateur unique. Le déploiement de clusters sur plusieurs machines est une fonctionnalité expérimentale.
Conditions préalables à l’exécution du script
Pour exécuter le script, vous avez besoin des prérequis suivants :
Un abonnement Azure avec le rôle Propriétaire ou une combinaison de rôles Contributeur et Administrateur d’accès utilisateur. Vous pouvez vérifier votre niveau d’accès en accédant à votre abonnement, en sélectionnant Contrôle d’accès (IAM) sur le côté gauche du Portail Azure, puis en sélectionnant Afficher mon accès. Si vous n’avez pas d’abonnement Azure, créez-en un gratuitement avant de commencer.
Azure CLI version 2.64.0 ou ultérieure installée sur votre ordinateur de développement. Utilisez
az --version
pour vérifier votre version etaz upgrade
pour effectuer une mise à jour si nécessaire. Si vous souhaitez en savoir plus, veuillez consulter la rubrique Installation de l’interface de ligne de commande Azure.Installez la dernière version des extensions connectedk8s pour Azure CLI :
az extension add --upgrade --name connectedk8s
Configuration matérielle requise : vérifiez que votre machine dispose d’un minimum de 16 Go de RAM disponible, de 4 processeurs virtuels disponibles et d’espace disque libre de 52 Go réservé aux opérations Azure IoT.
Créer un cluster avec Arc
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. Le script effectue les tâches suivantes :
- Télécharge la dernière MSI AKS Edge Essentials à partir de ce dépôt.
- Installe AKS Edge Essentials et déploie et crée un seul cluster Kubernetes sur votre ordinateur Windows.
- Se connecte à l’abonnement Azure, crée un groupe de ressources s’il n’existe pas déjà et connecte le cluster à Arc pour créer un cluster Kubernetes avec Arc.
- Active la fonctionnalité d’emplacement personnalisé sur le cluster Kubernetes avec Arc.
- Active la fonctionnalité de fédération des identités de charge de travail sur le cluster Kubernetes avec Arc.
- Déploie l’approvisionnement de chemins d’accès local.
- Configure les règles de pare-feu sur l’ordinateur Windows hôte pour le répartiteur MQTT.
- Sur la machine virtuelle Linux, qui sert de nœud de plan de contrôle Kubernetes :
- Configure le proxy de port pour la plage d’adresses IP par défaut du service Kubernetes de 10.96.0.0/28.
- Configure les règles de table IP :
sudo iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 9110 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport (10124, 8420, 2379, 50051) -j ACCEPT
Pour exécuter le script de démarrage rapide, procédez comme suit :
Ouvrez une fenêtre PowerShell avec élévation de privilèges et remplacez le répertoire par un dossier de travail.
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
Exécutez les commandes suivantes :
$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
[Facultatif] passerelle Azure Arc (préversion) vous permet d’intégrer l’infrastructure à Azure Arc à l’aide de 7 points de terminaison uniquement. Pour utiliser la passerelle Azure Arc avec des opérations Azure IoT sur AKS Edge Essentials :
- Suivez l’étape 1 pour créer une ressource de passerelle Arc.
- Notez les URL répertoriées à l’étape 2 à ajouter au
proxy-skip-range
à l’étape 2. - Suivez l'étape 3a de dans la documentation de la passerelle Arc et enregistrez l'identifiant de la passerelle.
- Dans AksEdgeQuickStartForAio.ps1, recherchez la définition de
$aideuserConfig
. Définissez la valeur deGatewayResourceId
sur l'ID de passerelle que vous avez enregistré à l'étape précédente.
Exécutez la commande suivante et remplacez les valeurs des espaces réservés par vos informations :
.\AksEdgeQuickStartForAio.ps1 -SubscriptionId "<SUBSCRIPTION_ID>" -TenantId "<TENANT_ID>" -ResourceGroupName "<RESOURCE_GROUP_NAME>" -Location "<LOCATION>" -ClusterName "<CLUSTER_NAME>" -CustomLocationOid "<ARC_APP_OBJECT_ID>"
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. Une seule instance d’Opérations Azure IoT est prise en charge par groupe de ressources. LOCATION Une région Azure proche de vous. Pour obtenir la liste des régions Azure prises en charge par Azure IoT Operations, 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 2. Il existe d’autres indicateurs facultatifs que vous pouvez inclure lorsque vous exécutez AksEdgeQuickStartForAio.ps1. Les indicateurs facultatifs sont les suivants :
Indicateurs facultatifs Valeur enableWorkloadIdentity
(préversion)Activé par défaut. Bien que vous puissiez désactiver avant de déployer le cluster, vous ne pouvez pas l’activer après la création du cluster. La fédération d'identité de charge de travail permet de configurer une identité gérée assignée par l'utilisateur ou un enregistrement d'application dans Microsoft Entra ID, afin de faire confiance aux jetons provenant de fournisseurs d'identité externes (IdPs) tels que Kubernetes. Pour configurer la fédération des identités de charge de travail, consultez cet article. proxy-https
Indiquez la valeur du proxy : https://<proxy-server-ip-address>:<port>
.proxy-http
Indiquez la valeur du proxy : http://<proxy-server-ip-address>:<port>
.proxy-skip-range
Indiquez la plage d'exclusion du proxy : <excludedIP>
,<excludedCIDR>
. Sihttp(s)_proxy
est fourni, il faut également effectuer la mise à jour deno_proxy
aveclocalhost,127.0.0.0/8,192.168.0.0/16,172.17.0.0/16,10.42.0.0/16,10.43.0.0/16,10.96.0.0/12,10.244.0.0/16,.svc,169.254.169.254
.Vous pouvez ajouter ces indicateurs comme indiqué dans l’exemple suivant :
.\AksEdgeQuickStartForAio.ps1 -SubscriptionId "<SUBSCRIPTION_ID>" -TenantId "<TENANT_ID>" -ResourceGroupName "<RESOURCE_GROUP_NAME>" -Location "<LOCATION>" -ClusterName "<CLUSTER_NAME>" -CustomLocationOid "<ARC_APP_OBJECT_ID>" --enableWorkloadIdentity:false
Important
Les fonctionnalités en préversion sont disponibles en libre-service et font l’objet d’un consentement. Les aperçus sont fournis « en l’état » et « telles que disponibles », et ils sont exclus des accords de niveau de service et de la garantie limitée. Les versions préliminaires d’AKS Edge Essentials sont partiellement couvertes par le support client sur une base de meilleur effort.
S’il y a des problèmes pendant le déploiement ; par exemple, si votre ordinateur redémarre dans le cadre de ce processus, réexécutez l’ensemble de commandes.
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
Get-AksEdgeDeploymentInfo
commande, vous devez voir que l’état Arc du cluster est Connecté.
Vérifier votre cluster
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 doit ressembler à celle-ci :
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