Qu'est-ce qu'un conteneur Linux et devez-vous l'utiliser?

Qu'est-ce qu'un conteneur Linux et devez-vous l'utiliser? / Linux

Les systèmes d'exploitation Linux se déclinent en plusieurs variantes. Alors que les systèmes d'exploitation Linux tels que Ubuntu sont assez généraux, d'autres encore visent un créneau. Il y a le Kali Linux orienté sur la sécurité. Des distributions légères telles que Xubuntu et même Hannah Montana Linux (!). Pour l’utilisation de bureau, un système d’exploitation Linux vanille fonctionne bien. Cependant, pour des tâches spécialisées telles que l’exécution d’un serveur, il est préférable de trouver une version sur mesure..

Les conteneurs sont de plus en plus populaires. Container Linux, anciennement CoreOS, est un système d'exploitation Linux conçu pour de simples déploiements conteneurisés. C'est l'un des systèmes d'exploitation Linux niche les plus récents. Les derniers systèmes d'exploitation Linux pour chaque niche Les derniers systèmes d'exploitation Linux pour chaque niche Les systèmes d'exploitation Linux sont constamment mis à jour, certains étant plus conséquents que d'autres. Vous ne savez pas s'il faut mettre à jour? Découvrez ces nouveaux systèmes d'exploitation Linux et voyez si vous devriez les essayer. Lire la suite . Découvrez cette vue d'ensemble et la pratique de Container Linux.

Travaux Pratiques Avec Container Linux: Connaissance de Fond

Avant de plonger dans Container Linux, commençons par un bref aperçu de l'architecture du serveur. Container Linux est conçu pour les déploiements en cluster. Un déploiement en cluster semble assez complexe, mais c'est assez simple. Essentiellement, un cluster d’ordinateurs est composé de plusieurs serveurs fonctionnant ensemble. Par conséquent, ils fonctionnent comme une seule unité ou un seul système plutôt que plusieurs. De plus, les ordinateurs d'un cluster possèdent des nœuds, ou des serveurs, qui remplissent la même fonction. Donc, un nœud est une machine unique tandis qu'un cluster est un groupe de serveurs qui travaillent ensemble.

La plupart des déploiements Container Linux se font dans des environnements de cluster. La distribution anciennement connue sous le nom de CoreOS inclut même le moyen d’activer un cluster à partir d’une seule machine. La particularité de Container Linux est cependant de dépendre des conteneurs..

Contrairement à un système d'exploitation traditionnel, toutes les applications s'exécutent dans des conteneurs. Alors que les machines virtuelles (VM) et les conteneurs utilisent des méthodes de virtualisation, les conteneurs diffèrent. Contrairement aux ordinateurs virtuels, les conteneurs utilisent le même noyau de système d'exploitation que l'ordinateur hôte. Comme les applications conteneurisées et la machine hôte utilisent le même noyau, les déploiements de conteneurs bénéficient d'une efficacité accrue. Dans une configuration de machine virtuelle, chaque machine virtuelle exécute une application et un système d'exploitation invité. Cela fonctionne sur le système d'exploitation hôte et le matériel.

Les déploiements conteneurisés exécutent plutôt des applications dans leurs propres conteneurs, en plus du logiciel de virtualisation. Docker reste le logiciel de conteneur le plus populaire, bien que chroot, LXC et Linux-VServer se classent parmi les alternatives de Docker.

Travaux pratiques avec les conteneurs Linux: Pourquoi utiliser des conteneurs?

OK, les conteneurs sont donc une méthode de virtualisation. Pourquoi opter pour un environnement conteneurisé? Les conteneurs offrent généralement de meilleures performances. En évitant les systèmes d'exploitation distincts et en utilisant un noyau partagé, vous optimisez l'efficacité de la CPU, du stockage et de la mémoire..

Étant donné que vous n'avez pas besoin d'exécuter plusieurs instances de système d'exploitation comme dans une configuration de machine virtuelle, vous pouvez exécuter davantage de conteneurs. Les améliorations de performances découlent de la nécessité d’un système d’exploitation unique. De même, vous pouvez créer des conteneurs plus rapidement que dans un environnement de machine virtuelle. Par conséquent, les conteneurs sont plus adaptés au maintien de l'agilité et permettent une livraison continue et une intégration continue.

Le développement agile se concentre sur l'itération et la prise en compte de l'imprévisibilité. Vous pouvez lire le Manifeste Agile pour en savoir plus sur la philosophie agile. Cependant, malgré les avantages des conteneurs, ce n’est pas une méthode de virtualisation parfaite. Comme les conteneurs partagent le noyau du système d'exploitation hôte, il existe un risque de sécurité. Toute vulnérabilité ou brèche affectant un conteneur obtient l’accès au système d’exploitation. Mais il existe une solution de contournement consistant à exécuter des applications conteneurisées sur un système d'exploitation au sein d'une machine virtuelle. Cela garantit que le système d'exploitation de la machine hôte est isolé du système d'exploitation hôte du conteneur singulier..

La conteneurisation nécessite également que les conteneurs utilisent le même système d'exploitation. Avec les machines virtuelles, chaque application dispose de son propre système d'exploitation. Vous ne pouvez donc pas exécuter d'applications conçues pour Windows Server dans un environnement Linux conteneurisé et inversement..

Travaux Pratiques avec Container Linux: Qu'est-ce que Container Linux??

CoreOS, ou Container Linux comme on l'appelle maintenant, est un système d'exploitation Linux à code source ouvert. C'est une distribution légère destinée aux déploiements en cluster. Plus spécifiquement, CoreOS se concentre sur des déploiements simples, fiables et évolutifs. Vous ne trouverez pas de gestionnaire de paquets. Conteneur Linux exige que toutes les applications s'exécutent dans des conteneurs. Container Linux utilise Chrome OS comme base. Par conséquent, Container Linux reste assez léger. Pour tester, j'ai exécuté le système d'exploitation Linux anciennement appelé CoreOS sur une machine virtuelle sur un ordinateur portable vieillissant HP Envy m6-1205dx AMD A10. La consommation de ressources système est restée relativement faible.

Container Linux évitant plusieurs fonctionnalités du système d'exploitation Linux traditionnel, il permet de maintenir la distribution légère. Contrairement à un système d'exploitation de bureau, vous ne trouverez pas de gestionnaire de paquets. Au lieu de cela, toutes les applications s'exécutent en tant que conteneurs Docker. Cela rend la portabilité et l'isolement du service. Si vous voulez un environnement de bureau, vous n'avez pas de chance. Le conteneur Linux manque d'une interface utilisateur graphique. Au lieu de cela, tout est basé sur la ligne de commande. Le tableau de bord CoreUpdate fournit des informations sur la santé de la machine, les services en cours et la santé du cluster. Mais il est uniquement disponible en tant que composant dans l'abonnement Premium Managed Linux.

Container Linux Architecture

Container Linux est léger et conçu pour la conteneurisation et la mise en cluster. En l'absence d'environnement de bureau, la configuration fonctionne différemment de celle d'un système d'exploitation Linux tel que CentOS ou Ubuntu. Lors du démarrage initial, Container Linux charge un fichier cloud-config. Vous devrez entrer des informations dans cloud-config. Cela peut être un peu délicat, surtout pour ceux qui ne sont pas familiers avec cloud-config. Mais c’est un fichier essentiel qui permet à Container Linux de charger des services essentiels, de modifier des paramètres et de gérer des clusters..

De plus, le etcd et flotte les démons restent partie intégrante de Container Linux. Ces deux services se lancent au démarrage par défaut. De plus, au démarrage, le fichier cloud-config indique à l'hôte comment rejoindre un cluster existant. le etcd Le démon distribue et stocke les données pour les hôtes au sein d'un cluster. C'est essentiel pour la maintenance des configurations et la découverte de services. le flotte Le démon est similaire à un init distribué. Ce démon est lié au systemd init pour les hôtes d'un cluster et s'occupe de tâches telles que la planification de services.

Chaque système dans un flotte le cluster ne gère qu'un seul flotte démon. Ce démon assume deux responsabilités principales, agissant à la fois comme agent et moteur. En tant que moteur, le démon prend des décisions de planification. Alors que le côté agent exécute des unités. Dans le groupe de la flotte, etcd est le seul magasin de données. Des informations telles que la présence de la grappe, l’état de l’unité et les fichiers d’unité sont toutes stockées dans etcd démon. De plus, c'est le moyen de communication entre agent de flotte et moteur.

Travaux Pratiques Avec Container Linux: Qui Devrait l'utiliser??

Container Linux est gratuit à télécharger, léger et assez simple à installer sur une machine virtuelle. Tous ceux qui ont besoin de déploiements conteneurisés rapides et évolutifs doivent opter pour Container Linux. Container Linux profite principalement aux administrateurs système et aux administrateurs de base de données. Container Linux étant dépourvu d'environnement de bureau, il convient mieux à la gestion de grappes et à un paramètre de serveur. Si vous recherchez un système d'exploitation pour serveur Linux, Container Linux est l'un des 12 meilleurs systèmes de distribution Linux pour les 12 meilleurs serveurs Linux et qui devrait les utiliser. Linux est idéal, offrant généralement des autorisations améliorées, une flexibilité accrue et une stabilité accrue. Mais lequel choisir? Découvrez les 12 meilleurs systèmes d'exploitation de serveur Linux et qui devrait les utiliser. Lire plus s.

Air Pair propose un excellent article sur les incitations CoreOS. Cet article mentionne la haute disponibilité, la maintenance de l’environnement de production, le contrôle de la version du logiciel et le etcd comme dessin principal pour l’utilisation de Container Linux. Notamment, il existe également une communauté open source incroyablement dédiée. Container Linux est conçu pour les utilisateurs Linux chevronnés. La documentation d’aide, bien que complète, suppose un degré modéré de familiarité avec Linux. Les utilisateurs novices et débutants pourraient avoir quelques problèmes avec l'installation initiale.

Plus spécifiquement, la configuration en nuage peut être un défi. Setyoso Nugroho, utilisateur de YouTube, a commenté dans la section commentaires d'une vidéo d'installation CoreOS:, “Bon tutoriel! Très déroutant lors de l'apprentissage de la configuration de fichiers # cloud-config dans CoreOS.” Bien que la configuration ne soit pas très difficile, Container Linux assume une connaissance approfondie des fonctionnalités de Linux telles que l'éditeur VIM..

Travaux Pratiques avec Container Linux: Comment installer

Il existe de nombreux moyens d'installer Container Linux. Selon le site Web CoreOS, les plates-formes officielles incluent Amazon EC2, DigitalOcean, Microsoft Azure, le bare metal et OpenStack. Outre Oracle, CentOS et Suse, CoreOS est l’un des rares systèmes d’exploitation Linux compatibles Azure. Microsoft adore-t-il vraiment Linux après tout? Est-ce que Microsoft aime vraiment Linux après tout? Microsoft et Linux ont eu une relation tumultueuse. Au fil des ans, les PDG ont exprimé le souhait de voir disparaître Linux, mais l’histoire est différente. Est-ce que Microsoft aime vraiment Linux après tout? Lire la suite . Grâce à une communauté dynamique, des plates-formes telles que Packet, Rackspace, Brightbox, VirtualBox et VMware sont également prises en charge. J'ai trouvé que la méthode la plus simple consistait à installer Container Linux sur VirtualBox à l'aide d'un fichier ISO. Voici un guide rapide pour utiliser VirtualBox Comment utiliser VirtualBox: Guide de l'utilisateur Comment utiliser VirtualBox: Guide de l'utilisateur Avec VirtualBox, vous pouvez facilement installer et tester plusieurs systèmes d'exploitation. Nous allons vous montrer comment configurer Windows 10 et Ubuntu Linux en tant que machine virtuelle. Lire la suite .

Configurer VirtualBox

Ouvrez VirtualBox et vous serez invité à entrer un nom de machine virtuelle, un type de système d'exploitation et une version. J'ai simplement appelé le mien CoreOS. Pour le type, sélectionnez Linux. En tant que version, utilisez Linux 2.6 / 3.x / 4 / x (64 bits). Cliquez sur Suivant.

Vous devez maintenant allouer votre RAM. CoreOS suggère un minimum de 1024 Mo de RAM.

Après avoir sélectionné votre RAM, vous devrez ajouter un disque dur virtuel. Utilisez l'option Créer un disque dur virtuel maintenant..

Sur l'écran suivant, vous serez invité à indiquer un type de fichier sur le disque dur. Sélectionnez VDI ou Image disque VirtualBox.

Après cela, configurez votre espace de stockage. Je recommande d'utiliser un fichier de disque dur alloué dynamiquement.

Choisissez ensuite l'emplacement et la taille du fichier. J'ai laissé le nom par défaut CoreOS, et j'ai opté pour une taille de fichier de 8 Go.

Une fois votre machine virtuelle CoreOS VirtualBox configurée correctement, continuez et cliquez sur le bouton vert Démarrer..

Une fois que vous avez cliqué sur Démarrer, vous devez sélectionner un disque de démarrage. Accédez au dossier contenant votre ISO CoreOS et continuez..

Configuration du conteneur Linux

Après avoir démarré votre ISO CoreOS, Container Linux commence à se charger. Vous verrez éventuellement une ligne indiquant votre version de CoreOS et une ligne de commande indiquant:

core @ localhost

Tapez:

sudo openssl passwd -1> cloud-config-file

La ligne de commande affiche un avertissement qui, s’il est impossible d’ouvrir le fichier de configuration. Entrez votre mot de passe souhaité et continuez. Ensuite entrez:

cat cloud-config-file

Cela retourne une longue chaîne et crée un nouveau fichier cloud-config. Ouvrez maintenant la configuration en nuage dans un éditeur visuel:

vi cloud-config-file

Cela charge un fichier cloud-config que vous pouvez éditer. CoreOS inclut un exemple de fichier avancé de configuration de cloud:

Le mien ressemblait à:

# utilisateurs de cloud-config: moe passwd: [mot de passe SSL] groupes: - sudo - docker 

Vous pouvez vérifier votre fichier cloud-config en entrant:

cat cloud-config-file

Ceci retourne votre fichier de configuration. Si tout semble bon, continuez avec l’installation de CoreOS:

sudo coreos-install -d / dev / sda -C stable -c cloud-config-file

Vous verrez un message indiquant que CoreOS est en cours de téléchargement, d'écriture et de vérification. Dès que cela se termine, vous verrez un message qui dit “Succès! CoreOS [version] est installé sur / dev / sda.”

Arrêtez votre machine virtuelle CoreOS puis redémarrez-la. Lorsque vous démarrez la sauvegarde, veillez à démonter le CoreOS ISO, sinon le CD live sera exécuté à nouveau..

CoreOS se chargera et une invite de connexion apparaîtra dans la ligne de commande:

login localhost:

Entrez votre nom d'utilisateur et mot de passe. Cela va charger un message qui dit “Conteneur Linux par CoreOS [version]” et une nouvelle ligne de commande.

Travaux Pratiques avec Container Linux: Prochaines étapes

Maintenant que Container Linux by CoreOS est correctement installé, vous pouvez commencer à configurer des conteneurs et des clusters. La documentation CoreOS contient un excellent guide de démarrage rapide. Vous trouverez des informations sur la découverte de services à l'aide de etcd, ainsi qu'une section sur la gestion des conteneurs avec Docker. J'ai effectué quelques tests rapides tels qu'un “Bonjour le monde” Docker tire. De plus, j'ai installé une image Plex Docker parce que je suis un grand fan de serveur multimédia. Enfin, j'ai mis en place une flotte pour la gestion des clusters.

Ce que vous voudrez d’abord faire, c’est configurer les principaux composants de Container Linux:

  • etcd
  • Docker
  • Flotte

En configurant ces trois fondations principales, vous serez prêt pour la découverte de services, la gestion de cluster et la configuration de conteneurs. Vous pouvez ensuite commencer à conteneuriser des applications et à tester en toute sécurité des applications de bureau dans un conteneur sécurisé. Comment tester en toute sécurité des applications de bureau dans un conteneur sécurisé avec Docker Comment tester en toute sécurité des applications de bureau dans un conteneur sécurisé avec Docker applications sur serveur. Mais saviez-vous que vous pouvez également l'utiliser pour exécuter en toute sécurité et en toute sécurité de nouveaux programmes sur votre bureau? Lire la suite .

Travaux Pratiques avec Container Linux: Réflexions finales

Je n'utilise pas souvent de conteneurs, mais le déploiement de Container Linux est simplifié. La documentation est excellente avec des exemples de fichiers de configuration. Notez que pour les débutants, plusieurs tutoriels d’installation vidéo non officiels facilitent l’installation de CoreOS. Alors que CoreOS affirmait que Container Linux était léger, j'étais initialement sceptique. Pourtant, j'ai lancé Container Linux dans une machine virtuelle avec une consommation de ressources relativement faible. Et parce que je voulais tester si Container Linux était vraiment léger, j'ai utilisé mon ordinateur portable HP vieillissant et je n'ai rencontré aucun problème..

Cependant, certaines étapes de l’installation initiale ne sont pas très complexes. “débutant amical.” L'installation et la configuration de Container Linux nécessitent une connaissance approfondie de Linux. Je n'ai notamment pas essayé le tableau de bord CoreUpdate, proposé par CoreOS en tant que fonctionnalité payante. Bien que je n’aie aucun problème à utiliser la ligne de commande, un environnement graphique de contrôle ferait un bel ajout..

Les administrateurs système et les administrateurs de base de données tirent le meilleur parti de Container Linux. Cependant, pour les serveurs domestiques, il s'agit d'un moyen simple et léger de créer un environnement en cluster. De plus, avec Container Linux, vous pouvez créer un cluster à partir d’une seule machine. Container Linux est une excellente introduction au travail avec les conteneurs. Si vous voulez en savoir plus sur Docker et ses conteneurs, Container Linux fonctionne très bien sur une machine virtuelle et offre toutes les ressources dont vous avez besoin pour commencer..

C'est une excellente solution prête à l'emploi pour les novices de Container, en plus des ingénieurs chevronnés de DevOps, des administrateurs système et des administrateurs de bases de données. En définitive, Container Linux by CoreOS est un moyen simple de créer un environnement conteneurisé évolutif et efficace..

Utilisez-vous CoreOS? Prévoyez-vous? Dites-nous comment vous conteneurisez sous Linux dans la section commentaires ci-dessous!

Explorez plus sur: Linux, Linux Distro.