Qu'est-ce que Linux Container et devriez-vous l'utiliser?

Les conteneurs sont de plus en plus populaires. Container Linux, anciennement connu sous le nom CoreOS, est un système d'exploitation Linux conçu pour les déploiements en conteneur simples. Cette vue d'ensemble et ce regard pratique sur Container Linux vous en diront plus.

Les conteneurs sont de plus en plus populaires.  Container Linux, anciennement connu sous le nom CoreOS, est un système d'exploitation Linux conçu pour les déploiements en conteneur simples.  Cette vue d'ensemble et ce regard pratique sur Container Linux vous en diront plus.
Publicité

Les systèmes d'exploitation Linux sont disponibles dans une variété de saveurs. Alors que les systèmes d'exploitation Linux tels qu'Ubuntu sont assez généraux, d'autres encore ciblent un créneau. Il y a le Kali Linux orienté sécurité. 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 comme l'exécution d'un serveur, il est préférable de trouver une version personnalisée.

Les conteneurs sont de plus en plus populaires. Container Linux, anciennement connu sous le nom CoreOS, est un système d'exploitation Linux conçu pour les déploiements en conteneur simples. C'est l'un des plus récents systèmes d'exploitation Linux de niche. Les plus récents systèmes d'exploitation Linux pour chaque niche Les nouveaux systèmes d'exploitation Linux pour tous les systèmes d'exploitation Linux Niche sont constamment mis à jour, avec certains sont plus importants que d'autres. Vous ne savez pas s'il faut mettre à niveau? Découvrez ces nouveaux systèmes d'exploitation Linux et voyez si vous devriez les essayer. Lire la suite . Jetez un coup d'œil à cette vue d'ensemble et à votre expérience pratique sur Container Linux.

Hands-On avec Container Linux: connaissances de base

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 plutôt simple. Essentiellement, un cluster d'ordinateurs est composé de plusieurs serveurs qui fonctionnent ensemble. Par conséquent, ils fonctionnent comme une unité ou un système plutôt que multiple. En outre, les ordinateurs d'un cluster utilisent des nœuds, ou des serveurs, qui remplissent la même fonction. Ainsi, un nœud est une machine unique alors qu'un cluster est un groupe de serveurs qui travaillent ensemble.

Les déploiements Container Linux les plus courants sont dans des environnements de cluster. La distribution autrefois connue sous le nom de CoreOS inclut même les moyens de faire tourner une grappe à partir d'une seule machine. La caractéristique déterminante de Container Linux, cependant, est sa dépendance sur les conteneurs.

Contrairement à un système d'exploitation de bureau traditionnel, toutes les applications fonctionnent dans des conteneurs. Alors que les machines virtuelles (VM) et les conteneurs utilisent des méthodes de virtualisation, les conteneurs diffèrent. Contrairement aux machines virtuelles, les conteneurs utilisent le même noyau de système d'exploitation que la machine hôte. Étant donné que 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 plus un système d'exploitation invité. Cela s'exécute 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 des logiciels de virtualisation. Docker reste le logiciel conteneur le plus populaire, bien que chroot, LXC et Linux-VServer se classent parmi les alternatives Docker.

Hands-On avec Container Linux: Pourquoi utiliser des conteneurs?

OK, les conteneurs sont une méthode de virtualisation. Pourquoi opter pour un environnement conteneurisé? Typiquement, les conteneurs offrent des performances améliorées. En évitant les systèmes d'exploitation séparés et en utilisant plutôt un noyau partagé, vous optimisez l'efficacité du processeur, du stockage et de la mémoire.

Comme vous n'avez pas besoin d'exécuter plusieurs instances de système d'exploitation comme vous le feriez dans une configuration de machine virtuelle, vous pouvez exécuter plusieurs conteneurs. Les améliorations de performances découlent du besoin 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 pour maintenir l'agilité et permettre 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 plus d'informations 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 violation affectant un conteneur obtient l'accès au système d'exploitation. Mais il existe une solution de contournement de l'exécution d'applications conteneurisées sur un système d'exploitation dans 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 obtient son propre système d'exploitation. Vous ne pouvez donc pas exécuter des applications conçues pour Windows Server dans un environnement Linux conteneurisé et vice versa.

Hands-On avec Container Linux: Qu'est-ce que Container Linux?

CoreOS Core Mise à jour

CoreOS, ou Container Linux comme on l'appelle maintenant, est un système d'exploitation Linux open-source. 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. Au lieu de cela, Container Linux exige que toutes les applications soient exécutées 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 connu sous le nom de CoreOS dans une machine virtuelle sur un ordinateur portable HP Envy m6-1205dx AMD A10 vieillissant. La consommation de ressources du système est restée assez faible.

Parce que Container Linux évite plusieurs fonctions de système d'exploitation Linux de bureau traditionnelles, il maintient 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'isolation des services. Si vous voulez un environnement de bureau, vous n'avez pas de chance. Container Linux n'a pas d'interface utilisateur graphique. Au lieu de cela, tout est basé sur une ligne de commande. Le tableau de bord CoreUpdate offre des informations sur la santé de la machine, les services en cours d'exécution et la santé des clusters. Mais il n'est disponible qu'en tant que composant dans l'abonnement Premium Managed Linux.

Architecture de conteneur Linux

Container Linux est léger et conçu pour le conteneur et le clustering. Comme il n'y a pas d'environnement de bureau, la configuration fonctionne différemment que sur un système d'exploitation Linux comme CentOS ou Ubuntu. Au démarrage initial, Container Linux charge un fichier cloud-config. Vous aurez besoin d'entrer des informations dans cloud-config. Cela peut être un peu difficile, surtout pour ceux qui ne sont pas familiers avec cloud-config. Mais c'est un fichier essentiel qui permet à Container Linux de charger les services essentiels, de modifier les paramètres et de gérer les clusters.

De plus, les démons etcd et fleet restent partie intégrante de Container Linux. Ces deux services sont lancés au démarrage par défaut. De plus, au démarrage, le fichier cloud-config permet à l'hôte de savoir comment rejoindre un cluster existant. Le démon etcd distribue et stocke les données pour les hôtes dans un cluster. Il est essentiel pour maintenir les configurations ainsi que la découverte de service. Le démon de fleet est similaire à un init distribué. Ce démon se connecte à l'init système pour les hôtes d'un cluster et prend en charge des tâches telles que la planification des services.

Chaque système d'un cluster de fleet fleetd qu'un fleetd démon fleetd . 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 d'ordonnancement. Alors que le côté agent exécute des unités. Dans le cluster de la flotte, etcd est le seul datastore. De telles informations telles que la présence de cluster, l'état de l'unité et les fichiers unitaires sont tous stockés dans le démon etcd . De plus, c'est le moyen de communication entre l'agent de flotte et le moteur.

Hands-On avec conteneur Linux: Qui devrait l'utiliser?

Container Linux est gratuit à télécharger, léger, et assez simple à installer dans une machine virtuelle. Toute personne ayant besoin de déploiements conteneurisés rapides et évolutifs doit opter pour Container Linux. La plupart des administrateurs système et des administrateurs de bases de données bénéficieront le plus de Container Linux. Comme Container Linux ne dispose pas d'un environnement de bureau, il est plus adapté à la gestion de cluster et aux paramètres de serveur. Si vous êtes à la recherche d'un système d'exploitation Linux, Container Linux est l'un des 12 meilleurs systèmes d'exploitation Linux et qui devrait les utiliser 12 Meilleurs systèmes d'exploitation Linux Server et qui devrait les utiliser Construire un serveur? Linux est idéal, offrant généralement des autorisations améliorées, une flexibilité et une stabilité accrues. Mais lequel devriez-vous choisir? Découvrez les 12 meilleurs systèmes d'exploitation de serveurs Linux et qui devrait les utiliser. Lire la suite s.

Air Pair propose une excellente rédaction sur les incitations CoreOS. Cet article mentionne la haute disponibilité, la maintenance de l'environnement de production, le contrôle de la version logicielle et le fichier etcd comme principaux exemples d'utilisation de Container Linux. Notamment, il y a aussi une communauté open source incroyablement dédiée. Container Linux est conçu pour les utilisateurs expérimentés de Linux. 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, cloud-config peut être un défi. Dans la section des commentaires d'une vidéo d'installation de CoreOS, l'utilisateur de YouTube Setyoso Nugroho a déclaré: "Beau tutoriel! Très confus lors de l'apprentissage de la configuration du fichier # cloud-config dans CoreOS. »Bien que la configuration ne soit pas très difficile, Container Linux suppose une bonne compréhension des fonctionnalités de Linux comme l'éditeur VIM.

Hands-On avec Container Linux: Comment installer

Il existe plusieurs moyens d'installer Container Linux. Selon le site Web CoreOS, les plates-formes officielles incluent Amazon EC2, DigitalOcean, Microsoft Azure, Bare Metal et OpenStack. Parallèlement à Oracle Linux, CentOS et Suse, CoreOS fait partie d'une poignée de systèmes d'exploitation Linux compatibles avec Azure. Microsoft aime-t-il réellement 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 années, les PDG ont exprimé le désir de voir disparaître Linux, mais l'histoire est différente aujourd'hui. 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 en utilisant un fichier ISO. Voici un petit guide d'utilisation de VirtualBox Comment utiliser VirtualBox: Guide d'utilisation 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 .

Configuration de VirtualBox

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

CoreOS Start

Maintenant, vous devrez allouer votre RAM. CoreOS suggère un minimum de 1024 Mo de RAM.

CoreOS 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.

Créer VHD CoreOS

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

CoreOS VDI

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

CoreOS Dynamic

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

Allocation de taille de fichier CoreOS

Avec votre machine virtuelle CoreOS VirtualBox correctement configurée, allez-y et cliquez sur le bouton vert Démarrer.

CoreOS Start

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

Configuration du conteneur Linux

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

 core@localhost 

Tapez:

 sudo openssl passwd -1>cloud-config-file 

CoreOS Passwd Config

La ligne de commande présente un avertissement que si vous ne pouvez pas ouvrir le fichier de configuration. Entrez votre mot de passe désiré et continuez. Suivant entrez:

 cat cloud-config-file 

CoreOS Cat Cloud Config

Cela renvoie une longue chaîne et crée un nouveau fichier cloud-config. Maintenant, ouvrez le cloud-config dans un éditeur visuel:

 vi cloud-config-file 

CoreOS VI

Cela charge un fichier cloud-config que vous pouvez modifier. CoreOS inclut un fichier d'exemple cloud-config avancé:

CoreOS Cloud Config Exemple

Le mien ressemblait à:

 #cloud-config users: moe passwd: [SSL password] groups: - sudo - docker 

CoreOS Cloud Config Ex

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

 cat cloud-config-file 

CoreOS Check Cloud Config

Cela retourne votre fichier de configuration. Si tout va bien, continuez avec l'installation de CoreOS:

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

Installation de CoreOS finale

Vous verrez un message indiquant que CoreOS est téléchargé, écrit et vérifié. Dès que cela se termine, vous verrez un message qui dit «Succès! CoreOS [version] est installé sur / dev / sda. "

CoreOS Success

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

CoreOS va charger et vous aurez une invite de connexion dans la ligne de commande:

 localhost login: 

CoreOS Connexion Finale

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

Connexion finale CoreOS

Hands-On avec Container Linux: Prochaines étapes

Maintenant que Container Linux de CoreOS est correctement installé, vous pouvez commencer à configurer des conteneurs et des clusters. La documentation CoreOS comporte un excellent guide de démarrage rapide. Il y a des informations sur la découverte de service en utilisant etcd ainsi qu'une section sur la gestion des conteneurs avec Docker. J'ai effectué quelques tests rapides tels qu'un tirage "Hello World" Docker. En outre, j'ai installé une image Plex Docker parce que je suis un grand buff de serveur de médias. Enfin, j'ai mis en place une flotte pour la gestion des clusters.

Ce que vous voudrez faire en premier est de configurer les composants principaux de Container Linux:

  • etcd
  • Docker
  • Flotte

En configurant ces trois fondations principales, vous serez prêt pour la découverte de service, la gestion de cluster et la configuration de conteneurs. Test de sécurité des applications de bureau dans un conteneur sécurisé avec Docker Comment tester en toute sécurité les applications de bureau dans un conteneur sécurisé avec Docker Docker est une plate-forme populaire pour le développement et les tests applications basées sur le serveur. Mais saviez-vous que vous pouvez également l'utiliser pour sécuriser et sécuriser l'exécution de nouveaux programmes sur votre bureau? Lire la suite .

Hands-On avec Container Linux: Réflexions finales

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

Cependant, certaines étapes de l'installation initiale ne sont pas très conviviales pour les débutants. Installation et configuration de Container Linux nécessite une solide familiarité avec Linux. Je n'ai notamment pas essayé le tableau de bord CoreUpdate, que CoreOS propose en tant que fonctionnalité premium payante. Bien que je n'aie aucun problème à utiliser la ligne de commande, un environnement graphique pour la surveillance ferait un bel ajout.

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

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

Utilisez-vous CoreOS? Avez-vous l'intention de? Dites-nous comment vous conteneurisez sur Linux dans la section des commentaires ci-dessous!

In this article