Aller au contenu

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 :

archi 1

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 :

  1. 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.
  2. La seconde option, consiste à remplacer notre Azure Container Instance par Azure Batch avec un pool Windows.

archi 2

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

Références

Remerciements

Rédigé par Philippe MORISSEAU, Publié le 20 Septembre 2021