Provisionnement de machines virtuelles Linux Azure
S’applique à : ✔️ Machines virtuelles Linux ✔️ Groupes identiques flexibles
Lorsque vous créez une machine virtuelle à partir d’une image généralisée (Azure Compute Gallery ou image managée), le plan de contrôle vous permet de créer une machine virtuelle et de lui transmettre des paramètres. Ce processus porte le nom de provisionnement de machines virtuelles. Pendant le provisionnement, la plateforme met les valeurs de paramètres de création de machine virtuelle nécessaires (nom d’hôte, nom d’utilisateur, mot de passe, clés SSH, customData) à la disposition de la machine virtuelle lors de son démarrage.
Un agent de provisionnement intégré à l’image interagit avec la plateforme, en se connectant à plusieurs interfaces de provisionnement indépendantes, définit les propriétés et indique à la plateforme qu’il a terminé.
Les agents de provisionnement peuvent être l’agent Linux Azure ou cloud-init. Ce sont des prérequis pour la création d’images généralisées.
Les agents de provisionnement prennent en charge toutes les distributions Linux Azure approuvées, et vous trouverez dans de nombreux cas les images des distributions approuvées fournies avec cloud-init et l’agent Linux. Vous pouvez ainsi faire en sorte que cloud-init gère le provisionnement avant que l’agent Linux ne prenne en charge la gestion des extensions Azure. La prise en charge des extensions signifie que la machine virtuelle sera alors éligible pour prendre en charge d’autres services Azure, tels que la réinitialisation de mot de passe de machine virtuelle, Supervision Azure, Sauvegarde Azure, Azure Disk Encryption, etc.
Une fois le provisionnement terminé, cloud-init s’exécute à chaque démarrage. Cloud-init supervise les modifications apportées à la machine virtuelle, telles que les changements de mise en réseau, le montage et le formatage du disque éphémère, et le démarrage de l’agent Linux. L’agent Linux s’exécute continuellement sur le serveur, en recherchant un « état de l’objectif » (nouvelle configuration) à partir de la plateforme Azure. Par conséquent, chaque fois que vous installez des extensions, l’agent est en mesure de les traiter.
Alors qu’il existe actuellement deux agents de provisionnement, cloud-init doit être l’agent de provisionnement que vous choisissez et l’agent Linux doit être installé pour la prise en charge des extensions. Cela vous permet de tirer parti des optimisations de la plateforme et de désactiver ou de supprimer l’agent Linux. Pour plus d’informations sur la création d’images sans l’agent et sur sa suppression, consultez cette documentation.
Si vous avez un noyau Linux qui ne peut pas prendre en charge l’exécution de l’un des agents, mais que vous souhaitez définir certaines propriétés de création de machine virtuelle (nom d’hôte, customData, nom d’utilisateur, mot de passe, clés SSH), ce document explique comment vous pouvez créer des images généralisées sans un agent et répondre aux exigences de la plateforme.
Responsabilités de l’agent de provisionnement
Provisionnement d’image
- Création d'un compte d'utilisateur
- Configuration des types d'authentification SSH
- Déploiement des clés publiques et des paires de clés SSH
- Définition du nom d'hôte
- Publication du nom d'hôte sur la plateforme DNS
- Génération de rapports sur l'empreinte digitale de la clé d'hôte SSH destinés à la plateforme
- Gestion du disque de ressources
- Formatage et montage du disque de ressources
- Consommation et traitement de
customData
Mise en réseau
- Gestion des itinéraires afin d'améliorer la compatibilité avec les serveurs DHCP de plateforme
- Garantie de la stabilité du nom de l'interface réseau
Noyau
- Configure l’architecture NUMA virtuelle (désactivée pour le noyau <
2.6.37
) - Consommation de l’entropie Hyper-V pour
/dev/random
- Configuration des délais d'expiration SCSI de l'appareil racine (qui peut être distant)
Diagnostics
- Redirection de la console vers le port série
Communication
Le flux d'informations de la plateforme à l'agent se produit via deux canaux :
- Un DVD attaché au moment du démarrage pour les déploiements IaaS. Le DVD comprend un fichier de configuration compatible OVF qui inclut toutes les informations de provisionnement différentes des paires de clés SSH réelles.
- Un point de terminaison TCP qui expose une API REST utilisée pour obtenir la configuration du déploiement et de la topologie.
Exigences de l’agent de provisionnement Azure
L’agent Linux et cloud-init reposent sur certains packages système pour fonctionner correctement :
- Python 2.6+
- OpenSSL 1.0+
- OpenSSH 5.3+
- Utilitaires de système de fichiers :
sfdisk
,fdisk
,mkfs
,parted
- Outils de mot de passe : chpasswd, sudo
- Outils de traitement de texte : sed, grep
- Outils réseau : ip-route
- Prise en charge du noyau pour le montage de systèmes de fichiers UDF.
Étapes suivantes
Si nécessaire, vous pouvez désactiver le provisionnement et supprimer l’agent Linux.