Déployer des applications conteneurisées sur un cluster AKS Edge Essentials

Effectué

AKS Edge Essentials facilite la mise en œuvre de votre application conteneurisée, en apportant les meilleures pratiques natives Cloud à votre application de périphérie.

Dans le scénario de l’usine industrielle, nous devons intégrer facilement des logiciels qui ont besoin d’une supervision humaine permanente, sans que des mises à jour constantes ne perturbent les fonctionnalités.

Ici, vous découvrirez comment les applications conteneurisées peuvent être déployées sur des nœuds Worker Linux et Windows AkS Edge Essentials, en tirant profit de l’interopérabilité avec les applications Windows sur un appareil spécialisé.

Diagram showing AKS Edge Essentials interoperability with Windows applications.

Déployer des applications Linux et Windows sur le cluster AKS Edge Essentials

Nœuds worker

Pour exécuter vos applications et les services de prise en charge, vous avez besoin d’un nœud Kubernetes. Les nœuds Worker agissent en tant que machines virtuelles qui exécutent les composants de nœud Kubernetes et hébergent les pods et les services qui composent la charge de travail de l’application. Chaque machine d’un cluster AKS Edge Essentials ne peut disposer que d’une seule machine virtuelle Linux et/ou Windows. La machine virtuelle Linux agit comme nœud de contrôle et nœud Worker pour les charges de travail Linux dans le cluster Kubernetes.

Pods

Kubernetes Utilise des pods pour exécuter une instance de votre application. Un pod représente une instance unique de votre application, et généralement, les pods ont un mappage 1 :1 avec un conteneur. AKS Edge Essentials active des clusters de système d’exploitation mixtes, ce qui signifie que vous pouvez exécuter des conteneurs Linux et Windows sur le même cluster. Cela est utile lorsque vous disposez d’une application Linux qui doit communiquer avec une application Windows, ou vice versa.

Déploiements

Un déploiement représente un ou plusieurs pods identiques, gérés par le contrôleur de déploiement Kubernetes. Un déploiement définit le nombre de réplicas (pods) à créer, tandis que le planificateur de Kubernetes veille à ce que des pods supplémentaires soient planifiés sur des nœuds sains si les pods ou les nœuds rencontrent des problèmes.

Fichiers manifestes

Un fichier manifeste Kubernetes vous permet de décrire vos charges de travail au format YAML de manière déclarative et de simplifier la gestion des objets Kubernetes. Par exemple, vous pouvez utiliser un fichier manifeste pour vous assurer que vos pods sont planifiés sur les nœuds avec le système d’exploitation correspondant en ajoutant nodeSelector à vos fichiers de déploiement. Consultez linux-sample.yaml dans le package de référentiel GitHub pour obtenir un exemple de manifeste de déploiement. Notez que dans le YAML, nous avons spécifié une nodeSelector balise en tant que Linux.

Déployer l’application

Pour déployer votre application, vous utilisez la commande kubectl apply. Cette commande analyse le fichier manifeste et crée les objets Kubernetes définis. Voici comment déployer une application Linux dans AKS Edge Essentials :

kubectl apply -f  https://raw.githubusercontent.com/Azure/AKS-Edge/main/samples/others/linux-sample.yaml

Déployez des applications à distance vers votre cluster AKS Edge Essentials avec Arc

Lorsque vous avez un grand nombre d’appareils et que vous souhaitez déployer la même application sur tous, vous pouvez utiliser GitOps et Flux pour déployer des applications sur votre cluster AKS Edge Essentials avec Arc.

GitOps sur Kubernetes avec Azure Arc utilise Flux. Flux est un outil permettant de synchroniser les clusters Kubernetes avec les sources de configuration (comme les référentiels Git) et d’automatiser les mises à jour de la configuration lorsqu’il existe un nouveau code à déployer.

Interopérabilité avec les applications Windows

La plupart des charges de travail natives cloud sont basées sur Linux. Votre défi consiste à introduire des systèmes Linux pour tirer parti des solutions natives cloud. AKS Edge Essentials offre une interopérabilité entre les applications Windows natives et les charges de travail Linux ou Windows conteneurisées.

Pour établir un canal de communication entre le système d'exploitation hôte Windows et les machines virtuelles Linux et Windows, nous utilisons une pile de mise en réseau Hyper-V. Pour plus d’informations sur la mise en réseau AKS Edge Essentials, consultez Mise en réseau AKS Edge Essentials.

Appareils spécialisés avec Windows IoT Enterprise

Dans le scénario d’une usine industrielle, nous recherchons la création d’un appareil spécialisé qui n’a pas besoin de mises à jour des fonctionnalités aussi fréquemment que d’autres appareils à usage général dans l’organisation. Nous avons besoin que notre application s’exécute sur un appareil créé à des fins spécifiques et qui n’est pas destiné à être modifié ou mis à niveau.

Les appareils alimentés par Windows sont nombreux : distributeurs automatiques, terminaux de point de vente, systèmes d’automatisation industrielle, clients légers, appareils médicaux, signalisation numérique, kiosques et autres appareils à usage fixe, tels que ceux dans notre scénario d’usine industrielle. Windows IoT Enterprise vous permet d’ajouter à ces appareils à usage fixe des allocations et des restrictions spécifiques dans le contrat de licence.

Lorsque vous ciblez des appareils à usage fixe qui nécessitent souvent une option de maintenance plus longue et n’ont pas besoin de mises à jour des fonctionnalités aussi fréquemment que d’autres appareils de l’organisation, vous devez envisager d’exécuter AKS Edge Essentials sur Windows IoT Enterprise avec un canal de maintenance à long terme (LTSC) de 10 ans.