Les conteneurs réseau désignent un mécanisme émergent de sandboxing d’applications utilisé à domicile et sur le réseau d’entreprise Web. On peut comparer ce concept aux machines virtuelles. Un environnement Linux complet avec ses propres utilisateurs, système de fichiers, processus et pile réseau est isolé à l’intérieur du conteneur de l’hôte et de tous les autres conteneurs. Toutes les applications à l’intérieur du conteneur sont autorisées à accéder ou à modifier les fichiers ou les ressources disponibles.
Il est possible d’exécuter plusieurs conteneurs en même temps, chacun avec ses propres installations et dépendances. Cela est particulièrement utile dans les cas où les nouvelles versions d’une application peuvent demander la mise à niveau d’une dépendance susceptible de provoquer des conflits avec d’autres dépendances d’applications exécutées sur le serveur. Contrairement aux machines virtuelles, les conteneurs partagent les ressources de l’hôte plutôt que de simuler entièrement tout le matériel sur l’ordinateur, ce qui rend les conteneurs plus petits et plus rapides que les machines virtuelles et réduit la surcharge. En particulier dans le contexte des applications à l’échelle du Web, les conteneurs ont été conçus pour remplacer les VM en tant que plate-forme de déploiement pour les architectures de microservices.
Les conteneurs présentent également la caractéristique de la portabilité. Par exemple, Docker, un moteur de conteneurs, permet aux développeurs de regrouper un conteneur et toutes ses dépendances. Ce package de conteneurs peut ensuite être téléchargé. Une fois téléchargé, le conteneur peut être exécuté immédiatement sur un hôte.
Un conteneur réseau est une forme de virtualisation similaire aux machines virtuelles (VM) dans son concept, mais avec des différences. La méthode des conteneurs est une forme de virtualisation du système d’exploitation, contrairement aux VM, qui sont une forme de virtualisation matérielle.
Chaque machine virtuelle exécutée sur un hyperviseur possède son propre système d’exploitation, ses propres applications et bibliothèques, et peut encapsuler des données persistantes, installer un nouveau système d’exploitation, utiliser un système de fichiers différent de celui de l’hôte ou utiliser une version de noyau différente.
À l’inverse, les conteneurs sont une « instance en cours d’exécution » d’une image, une virtualisation éphémère du système d’exploitation qui effectue certaines tâches, puis est supprimée et oubliée. En raison de la nature éphémère des conteneurs, les utilisateurs du système exécutent beaucoup plus d’instances de conteneurs que les machines virtuelles nécessitant un espace d’adressage plus important.
Pour créer une isolation, un conteneur s’appuie sur deux fonctionnalités du noyau Linux : l’espace de nommage et les groupes de contrôle. Pour conférer au conteneur sa propre vue du système et l’isoler des autres ressources, un espace de nommage est créé pour chacune des ressources et dissocié du système restant. Les groupes de contrôle (Cgroups) sont ensuite utilisés pour surveiller et limiter les ressources système comme le CPU, la mémoire, les E/S de disque, le réseau, etc.
Les conteneurs sont de plus en plus adoptés et remplacent les VM en tant que plates-formes de microservices.
Les conteneurs présentent plusieurs avantages :
Les conteneurs sont déployés dans le cadre de l’architecture de microservices dans les environnements d’entreprise pour aider à encapsuler des tâches individuelles courantes pour les applications Web volumineuses. Chaque tâche peut avoir son propre conteneur, les conteneurs externes comme les API et les interfaces utilisateur sont ouverts à l’Internet public, les autres résident sur le réseau privé.
Le modèle des microservices offre des avantages :
Cinq types de conteneurs réseau sont utilisés aujourd’hui. Leurs caractéristiques sont centrées sur les modèles d’adresse IP par conteneur par rapport aux modèles basés sur l’adresse IP par pod et sur l’exigence de traduction d’adresse réseau (NAT) par rapport à l’absence de traduction.
Images et fichiers binaires signés avec prise en charge complète de Project Antrea pour l’entreprise
Connectez et protégez vos applications et microservices conteneurisés.
Profitez de l’expérience du Cloud public dans votre Data Center avec le réseau Cloud virtuel