Déployer la mise en réseau de conteneurs pour un hôte Docker Windows autonome
Le plug-in Azure CNI active la mise en réseau par conteneur/pod pour les hôtes Docker autonomes et les clusters Kubernetes. Dans cet article, vous allez apprendre à installer et à configurer le plug-in CNI pour un hôte Docker Windows autonome.
Prérequis
- Compte Azure avec un abonnement actif. Créez un compte gratuitement.
Créer un réseau virtuel et un hôte Azure Bastion
La procédure suivante crée un réseau virtuel avec un sous-réseau de ressources, un sous-réseau Azure Bastion et un hôte Bastion :
Dans le portail, recherchez et sélectionnez Réseaux virtuels.
Dans la page Réseaux virtuels, sélectionnez + Créer.
Sous l’onglet Informations de base de la page Créer un réseau virtuel, entrez ou sélectionnez les informations suivantes :
Paramètre Valeur Détails du projet Abonnement Sélectionnez votre abonnement. Resource group Sélectionnez Créer nouveau.
Entrez test-rg comme nom.
Sélectionnez OK.Détails de l’instance Nom Entrez vnet-1. Région Sélectionnez USA Est. Sélectionnez Suivant pour passer à l’onglet Sécurité.
Dans la section Azure Bastion, sélectionnez Activer Azure Bastion.
Bastion utilise votre navigateur pour se connecter aux machines virtuelles de votre réseau virtuel via le protocole SSH (Secure Shell) ou le protocole RDP (Remote Desktop Protocol) à l’aide de leurs adresses IP privées. Les machines virtuelles ne requièrent pas d’adresse IP publique, de logiciel client ou de configuration spéciale. Pour plus d’informations, consultez Présentation d’Azure Bastion.
Remarque
Le tarif horaire commence à partir du moment où Bastion est déployé, quelle que soit l’utilisation des données sortantes. Pour plus d’informations, consultez Tarifications et Références SKU. Si vous déployez Bastion dans le cadre d’un tutoriel ou d’un test, nous vous recommandons de supprimer cette ressource après l’avoir utilisée.
Dans Azure Bastion, entrez ou sélectionnez les informations suivantes :
Paramètre Valeur Nom d’hôte Azure Bastion Entrez bastion. Adresse IP publique Azure Bastion Sélectionnez Créer une adresse IP publique.
Saisissez public-ip-bastion dans le champ Nom.
Sélectionnez OK.Sélectionnez Suivant pour passer à l’onglet Adresses IP.
Dans la zone Espace d’adressage de Sous-réseaux, sélectionnez le sous-réseau par défaut.
Dans Modifier le sous-réseau, entrez ou sélectionnez les informations suivantes :
Paramètre Valeur Objectif du sous-réseau Conservez la valeur par défaut de Valeur par défaut. Nom Entrez subnet-1. IPv4 Plage d'adresses IPv4 Conservez la valeur par défaut 10.0.0.0/16. Adresse de début Laissez la valeur par défaut sur 10.0.0.0. Taille Conservez la valeur par défaut /24 (256 adresses). Sélectionnez Enregistrer.
Sélectionnez Vérifier + créer en bas de la fenêtre. Quand la validation réussit, sélectionnez Créer.
Le déploiement de l’hôte Bastion et du réseau peut prendre quelques minutes. Passez aux étapes suivantes lorsque le déploiement est terminé ou que la création du réseau virtuel est terminée.
Créer une machine virtuelle de test
La procédure suivante crée une machines virtuelles de test (VM) nommée vm-1 dans le réseau virtuel.
Dans le portail, recherchez et sélectionnez Machines virtuelles.
Dans Machines virtuelles, sélectionnez + Créer, puis Machine virtuelle Azure.
Sous l’onglet Général de la page Créer une machine virtuelle, entrez ou sélectionnez les informations suivantes :
Paramètre Valeur Détails du projet Abonnement Sélectionnez votre abonnement. Resource group Sélectionnez test-rg. Détails de l’instance Nom de la machine virtuelle Entrez vm-1. Région Sélectionnez USA Est. Options de disponibilité Sélectionnez Aucune redondance d’infrastructure requise. Type de sécurité Conservez la valeur par défaut Standard. Image Sélectionnez Windows Server 2022 Datacenter - x64 Gen2. Architecture de machine virtuelle Laissez la valeur par défaut x64. Taille Sélectionnez une taille. Compte administrateur Type d'authentification Sélectionnez Mot de passe. Nom d’utilisateur entrez azureuser. Mot de passe Entrez un mot de passe. Confirmer le mot de passe Entrez de nouveau le mot de passe. Règles des ports d’entrée Aucun port d’entrée public Sélectionnez Aucun. Sélectionnez l’onglet Réseau en haut de la page.
Entrez ou sélectionnez les informations suivantes sous l’onglet Réseau :
Paramètre Valeur Interface réseau Réseau virtuel Sélectionnez vnet-1. Subnet Sélectionnez subnet-1 (10.0.0.0/24). Adresse IP publique Sélectionnez Aucun. Groupe de sécurité réseau de la carte réseau Sélectionnez Avancé. Configurer un groupe de sécurité réseau Sélectionnez Créer nouveau.
Entrez nsg-1 pour le nom.
Pour le reste, laissez les valeurs par défaut et sélectionnez OK.Pour les autres paramètres, laissez les valeurs par défaut, puis sélectionnez Vérifier + créer.
Passez en revue les paramètres, puis sélectionnez Créer.
Notes
Les machines virtuelles d’un réseau virtuel avec un hôte bastion n’ont pas besoin d’adresses IP publiques. Bastion fournit l’adresse IP publique et les machines virtuelles utilisent des adresses IP privées pour communiquer au sein du réseau. Vous pouvez supprimer les adresses IP publiques des machines virtuelles des réseaux virtuels hébergés par bastion. Pour plus d’informations, consultez Dissocier une adresse IP publique d’une machine virtuelle Azure.
Remarque
Azure fournit une adresse IP d’accès sortant par défaut pour les machines virtuelles qui n’ont pas d’adresse IP publique ou qui se trouvent dans le pool de back-ends d’un équilibreur de charge Azure de base interne. Le mécanisme d’adresse IP d’accès sortant par défaut fournit une adresse IP sortante qui n’est pas configurable.
L’adresse IP de l’accès sortant par défaut est désactivée quand l’un des événements suivants se produit :
- Une adresse IP publique est affectée à la machine virtuelle.
- La machine virtuelle est placée dans le pool principal d’un équilibreur de charge standard, avec ou sans règles de trafic sortant.
- Une ressource Azure NAT Gateway est attribuée au sous-réseau de la machine virtuelle.
Les machines virtuelles que vous avez créées, au moyen de groupes de machines virtuelles identiques en mode d’orchestration flexible, n’ont pas d’accès sortant par défaut.
Pour plus d’informations sur les connexions sortantes dans Azure, consultez Accès sortant par défaut dans Azure et Utiliser SNAT (Source Network Address Translation) pour les connexions sortantes.
Ajouter une configuration IP
Le plug-in Azure CNI alloue des adresses IP aux conteneurs en fonction d’un pool d’adresses IP que vous créez sur l’interface réseau virtuelle de la machine virtuelle. Pour chaque conteneur sur l’hôte, une configuration IP doit exister sur l’interface réseau virtuelle. Si le nombre de conteneurs sur le serveur dépasse le nombre de configurations IP sur l’interface réseau virtuelle, le conteneur démarre, mais ne dispose pas d’une adresse IP.
Dans cette section, vous allez ajouter une configuration IP à l’interface réseau virtuelle de la machine virtuelle que vous avez créée précédemment.
Dans la zone de recherche située en haut du portail, entrez Machine virtuelle. Sélectionnez Machines virtuelles dans les résultats de la recherche.
Sélectionnez vm-1.
Sous Paramètres, sélectionnez Mise en réseau.
Sélectionnez le nom de l’interface réseau à côté d’Interface réseau. L’interface réseau se nomme vm-1 avec un nombre aléatoire.
Dans les Paramètres de l’interface réseau, sélectionnez Configurations IP.
Dans Configurations IP, sélectionnez ipconfig1 dans Nom.
Dans les paramètres ipconfig1, modifiez l’affectation de l’adresse IP privée de Dynamique à Statique.
Sélectionnez Enregistrer.
Revenez à Configurations IP.
Sélectionnez Ajouter.
Entrez ou sélectionnez les informations suivantes pour Ajouter une configuration IP :
Paramètre Valeur Nom Entrez ipconfig-2. Paramètres d’adresse IP privée Allocation Sélectionnez Statique. Adresse IP Entrez 10.0.0.5. Cliquez sur OK.
Vérifiez qu’ipconfig2 a été ajoutée en tant que configuration IP secondaire.
Répétez les étapes 1 à 13 pour ajouter autant de configurations que de conteneurs que vous souhaitez déployer sur l’hôte de conteneur.
Configurer des adresses IP dans Windows
Pour affecter plusieurs adresses IP à une machine virtuelle Windows, les adresses IP doivent être ajoutées à l’interface réseau dans Windows. Dans cette section, vous allez vous connecter à la machine virtuelle et configurer les configurations IP que vous avez créées dans la section précédente.
Dans la zone de recherche située en haut du portail, entrez Machine virtuelle. Sélectionnez Machines virtuelles dans les résultats de la recherche.
Sélectionnez vm-1.
Dans la Vue d’ensemble de vm-1, sélectionnez Se connecter, puis Bastion.
Entrez le nom d’utilisateur et le mot de passe que vous avez créés lors du déploiement de la machine virtuelle au cours des étapes précédentes.
Sélectionnez Connecter.
Ouvrez la configuration des connexions réseau sur la machine virtuelle. Sélectionnez Démarrer ->Exécuter et entrez
ncpa.cpl
.Sélectionnez OK.
Sélectionnez l’interface réseau de la machine virtuelle, puis Propriétés :
Dans Propriétés Ethernet, sélectionnez Protocole Internet version 4 (TCP/IPv4), puis Propriétés.
Sous l’onglet Général, entrez ou sélectionnez les informations suivantes :
Paramètre Valeur Sélectionnez Utiliser l’adresse IP suivante : Adresse IP : Entrez 10.0.0.4 Masque de sous-réseau : Entrez 255.255.255.0 Passerelle par défaut Entrez 10.0.0.1 Sélectionnez Utiliser les adresses de serveur DNS suivantes : Serveur DNS préféré : Entrez 168.63.129.16 Cette IP est l’adresse IP affectée par DHCP pour le DNS Azure par défaut Sélectionnez Avancé....
Dans Adresses IP, sélectionnez Ajouter....
Entrez ou sélectionnez les informations suivantes :
Paramètre Valeur Adresse TCP/IP Adresse IP : Entrez 10.0.0.5 Masque de sous-réseau : Entrez 255.255.255.0 Sélectionnez Ajouter.
Pour ajouter d’autres adresses IP qui correspondent aux configurations IP supplémentaires créées précédemment, sélectionnez Ajouter.
Sélectionnez OK.
Sélectionnez OK.
Cliquez sur OK.
La connexion Bastion s’arrête quelques secondes pendant que la configuration réseau est appliquée. Attendez quelques secondes, puis essayez de vous reconnecter. Continuez quand une reconnexion réussit.
Installation de Docker
Le moteur de conteneur Docker doit être installé et configuré sur la machine virtuelle que vous avez créée précédemment.
Connectez-vous à la machine virtuelle que vous avez créée précédemment avec l’hôte Azure Bastion que vous avez déployé avec le réseau virtuel.
Dans la zone de recherche située en haut du portail, entrez Machine virtuelle. Sélectionnez Machines virtuelles dans les résultats de la recherche.
Sélectionnez vm-1.
Dans la Vue d’ensemble de vm-1, sélectionnez Se connecter, puis Bastion.
Entrez le nom d’utilisateur et le mot de passe que vous avez créés lors du déploiement de la machine virtuelle au cours des étapes précédentes.
Sélectionnez Se connecter.
Ouvrez Windows PowerShell sur vm-1.
L’exemple suivant installe Docker CE/Moby :
Invoke-WebRequest -UseBasicParsing "https://raw.githubusercontent.com/microsoft/Windows-Containers/Main/helpful_tools/Install-DockerCE/install-docker-ce.ps1" -o install-docker-ce.ps1 .\install-docker-ce.ps1
La machine virtuelle redémarre pour installer la prise en charge de conteneur dans Windows. Reconnectez-vous à la machine virtuelle ; l’installation de Docker se poursuit.
Pour plus d’informations sur les conteneurs Windows, consultez Prise en main : Préparer Windows pour les conteneurs.
Une fois Docker installé sur votre machine virtuelle, suivez les étapes décrites dans cet article.
Installer le plug-in CNI et jq
Le plug-in Azure CNI est géré en tant que projet GitHub et peut être téléchargé à partir de la page GitHub du projet. Pour cet article, vous allez télécharger le référentiel du plug-in CNI dans la machine virtuelle, puis installer et configurer le plug-in.
Pour plus d’informations sur le plug-in Azure CNI, consultez Mise en réseau de conteneurs Microsoft Azure.
Dans la zone de recherche située en haut du portail, entrez Machine virtuelle. Sélectionnez Machines virtuelles dans les résultats de la recherche.
Sélectionnez vm-1.
Dans la Vue d’ensemble de vm-1, sélectionnez Se connecter, puis Bastion.
Entrez le nom d’utilisateur et le mot de passe que vous avez créés lors du déploiement de la machine virtuelle au cours des étapes précédentes.
Sélectionnez Connecter.
Utilisez l’exemple suivant pour télécharger et extraire le plug-in CNI dans un dossier temporaire de la machine virtuelle :
Invoke-WebRequest -Uri https://github.com/Azure/azure-container-networking/archive/refs/heads/master.zip -OutFile azure-container-networking.zip Expand-Archive azure-container-networking.zip -DestinationPath azure-container-networking
Pour installer le plug-in CNI, accédez au répertoire scripts du dossier du plug-in CNI que vous avez téléchargé à l’étape précédente. La commande install script nécessite un numéro de version pour le plug-in CNI. À l’heure de la rédaction de cet article, la version la plus récente est
v1.4.39
. Pour obtenir le numéro de version le plus récent du plug-in ou des versions antérieures, consultez Versions.cd .\azure-container-networking\azure-container-networking-master\scripts\ .\Install-CniPlugin.ps1 v1.4.39
Le plug-in CNI est fourni avec un fichier de configuration réseau intégré pour le plug-in. Utilisez l’exemple suivant pour copier le fichier dans le répertoire de la configuration réseau :
Copy-Item -Path "c:\k\azurecni\bin\10-azure.conflist" -Destination "c:\k\azurecni\netconf"
Installer jq
Le script qui crée les conteneurs avec le plug-in Azure CNI nécessite l’application jq. Pour plus d’informations et pour connaître l’emplacement de téléchargement, consultez Télécharger jq.
Ouvrez un navigateur web dans la machine virtuelle et téléchargez l’application jq.
Le téléchargement est un exécutable autonome pour l’application. Copiez l’exécutable
jq-win64.exe
dans le répertoireC:\Windows
.
Créer un conteneur test
Pour démarrer un conteneur avec le plug-in CNI, vous devez utiliser un script spécial fourni avec le plug-in pour créer et démarrer le conteneur. L’exemple suivant crée un conteneur Windows Server avec le script de plug-in CNI :
cd .\azure-container-networking\azure-container-networking-master\scripts\ .\docker-exec.ps1 vnetdocker1 default mcr.microsoft.com/windows/servercore/iis add
Le premier téléchargement de l’image du conteneur peut prendre quelques minutes. Lorsque le conteneur démarre et initialise le réseau, la connexion Bastion se déconnecte. Attendez quelques secondes que la connexion soit rétablie.
Pour vérifier que le conteneur a reçu l’adresse IP que vous avez configurée précédemment, connectez-vous au conteneur et affichez l’adresse IP :
docker exec -it vnetdocker1 powershell
Utilisez la commande
ipconfig
dans l’exemple suivant pour vérifier que l’adresse IP a été affectée au conteneur :ipconfig
Quittez le conteneur et fermez la connexion Bastion à vm-1.
Lorsque vous avez terminé d’utiliser les ressources que vous avez créées, vous pouvez supprimer le groupe de ressources et toutes ses ressources.
Depuis le portail Azure, recherchez et sélectionnez Groupes de ressources.
Dans la page Groupes de ressources, sélectionnez le groupe de ressources test-rg.
Dans la page test-rg, sélectionnez Supprimer le groupe de ressources.
Entrez test-rg dans Entrez le nom du groupe de ressources pour confirmer la suppression, puis sélectionnez Supprimer.
Étapes suivantes
Dans cet article, vous avez appris à installer le plug-in Azure CNI et à créer un conteneur test.
Pour plus d’informations sur la mise en réseau de conteneurs Azure et le service Azure Kubernetes, consultez :