Chapite 2 : Azure Container Instance et Windows dans votre Vnet
Le scénario
Vous souhaitez proposer des services ayant une durée de vie limité, executable sous Linux ou Windows et isolé dans votre Virtual Network. Par exemple : Des runners self-hosted pour github.
On imagine donc une architecture avec des Azure Container Instance du style :
Cela fonctionne pour nos conteneurs Linux mais pas pour nos conteneurs Windows...
L'exception
Après quelques tests infructueux, nous avons fait une petite recherche et découvert rapidement que l'utilisation d'Azure Container Instance dans un Virtual Network comportait quelques exceptions et notamment celle-ci :
Extrait docs.microsoft.com
Actuellement, seuls les conteneurs Linux sont pris en charge dans un groupe de conteneurs déployé sur un réseau virtuel.
Contournement
Les Azure Container Instance ne permettant pas d'intégrer des conteneurs Windows dans votre Vnet, il ne nous reste que peu d'options :
- Microsoft avait annoncé fin 2020 que cette fonctionnalité serait disponible début 2021. Si l'on admet un retard pris, on peut espérer que cette fonctionnalité sera bientôt disponible. Donc, la première option est d'attendre.
- La seconde option, consiste à remplacer notre Azure Container Instance par Azure Batch avec un pool Windows.
Vous pouvez aussi utiliser un AKS ou un VM Scale Set, mais de mon point de vue, c'est un peu "overkill".
Conclusion
Si vous êtes vraiment pressé par le temps ou vous doutez que Microsoft propose l'integration Vnet des Azure Container Instance Windows rapidement, je serais tenté de vous orienter vers Azure Batch. Un service managé d'Azure pas assez mis en valeur à mon goût !
Dans la série
- Chapitre 1 : Azure Container Registry et Azure Container Instance dans votre Vnet
- Chapitre 3 : Les firewall et les régions Azure
Références
- Ressources et scénarios relatifs aux réseaux virtuels
- Azure Container Instances (ACI) under the hood - Azure Friday
- Exécuter des applications de conteneur sur Azure Batch
- Utiliser des conteneurs Windows Server
Remerciements
- Michael Maillot : pour la relecture
- Oussama Mouchrit : pour la relecture
- Laurent Mondeil : pour la relecture
- Etienne Louise : pour la relecture
Rédigé par Philippe MORISSEAU, Publié le 20 Septembre 2021