Qu'est-ce que LXC et comment s'y prendre?

37

J'apprécierai si quelqu'un pouvait me présenter LXC et me dire comment utiliser cette technologie? Dans quels cas est-il judicieux de l'utiliser et dans quels cas devrais-je rester à l'écart?

dhojgaard
la source
3
Si vous regardez le film Inception, vous avez une bonne idée de LXC. imdb.com/title/tt1375666 Bande-annonce.
Qasim

Réponses:

53

_________________________________________________ LXC _________________________________________________________

                           Linux Containers ( Ubuntu )

Vue d'ensemble

Les conteneurs Linux (LXC) sont une technologie de virtualisation légère et fournissent un système de virtualisation de logiciel gratuit pour les ordinateurs fonctionnant sous GNU / Linux. Cette opération est réalisée grâce à l'isolation au niveau du noyau. Elle permet d'exécuter plusieurs unités virtuelles (conteneurs) simultanément sur le même hôte.

Un conteneur est un moyen d'isoler un groupe de processus des autres sur un système Linux en cours d'exécution. En utilisant des fonctionnalités existantes telles que les nouvelles fonctionnalités de gestion des ressources et d’isolation des ressources du noyau Linux (Cgroups et espaces de noms), ces processus peuvent disposer de leur propre vue privée du système d’exploitation, avec son propre espace PID (Process ID), sa propre structure de système de fichiers et Interfaces réseau.

Les conteneurs partagent le même noyau avec tout ce qui s’exécute, mais peuvent être contraints d’utiliser uniquement une quantité définie de ressources telles que le processeur, la mémoire ou les E / S. En combinant des conteneurs avec d'autres fonctionnalités telles que le système de fichiers Btrfs, il sera possible de configurer rapidement plusieurs instances Linux isolées et légères sur un seul hôte. Par conséquent, les conteneurs sont mieux comparés aux zones Solaris ou aux jails BSD.

entrez la description de l'image ici

Installation

Rendre LXC plus facile

Un des objectifs principaux d’Ubuntu LTS était de rendre LXC mort facile à utiliser pour y parvenir. Créer un conteneur de base et le démarrer sur Ubuntu

 sudo apt-get install lxc
 sudo lxc-create -t ubuntu -n my-container
 sudo lxc-start -n my-container

S'identifier

sudo lxc-console -n my-container -t 1

Ceci utilisera par défaut la même version et la même architecture que votre machine. Des options supplémentaires sont évidemment disponibles (l'aide les listera). Le nom d'utilisateur / mot de passe est ubuntu / ubuntu.

Pour la configuration détaillée de l'hôte


Pour en savoir plus sur LXC

Debian

Oracle

sourceforge


Panneau Web LXC

Pour les débutants, je recommanderais d'utiliser LXC Webpanel. Le bon côté est que si vous créez un conteneur en mode CLI, il apparaîtra dans le panneau Web LXC.

  sudo apt-get install lxc debootstrap bridge-utils -y
  sudo su
  wget https://lxc-webpanel.github.com/tools/install.sh -O - | bash

Ouvrir le navigateur Web et se connecter

                       http://your_ip_address:5000/
                Login with user admin and password admin

Vue d'ensemble

entrez la description de l'image ici

Vue d'ensemble des conteneurs

entrez la description de l'image ici

Réseau LXC

entrez la description de l'image ici

Paramètres du conteneur

entrez la description de l'image ici

Limitation des ressources

entrez la description de l'image ici

Modification de l'utilisateur (Créer, Supprimer, Modifier)

entrez la description de l'image ici

entrez la description de l'image ici

Qasim
la source
1
Je devais installer sudo apt-get install debootstrapavant de sudo lxc-create -t ubuntu -n my-containertravailler (Ubuntu 14.04 LTS).
CivMeierFan
Quelles sont les fonctionnalités de btrfs qui accélèrent le provisionnement des conteneurs?
chad
11

LXC

LXC, qui est une manière abrégée de dire LinuX Containers est une méthode de virtualisation au niveau du système d'exploitation permettant d'exécuter plusieurs systèmes Linux isolés appelés conteneurs sur un seul hôte de contrôle. Etant donné que LXC fournit une virtualisation au niveau du système d'exploitation, il ne s'agit pas d'un ordinateur virtuel complet, mais d'un environnement virtuel disposant de ses propres processus et de son propre espace réseau.

LXC s'appuie sur les groupes de contrôle ( groupes de contrôle ) du noyau Linux développés dans le cadre de LXC, qui permettent de limiter, de comptabiliser et d'isoler l'utilisation des ressources (CPU, mémoire, entrées / sorties de disque, etc.) des groupes de processus. Il s'appuie également sur d'autres types de fonctionnalités d'isolation d'espaces de noms, qui ont été développées et intégrées dans le noyau Linux principal.

Dans Ubuntu, vous pouvez trouver des outils tels que Juju utilisés avec LXC. Vous pouvez même trouver plusieurs tutoriels:

Pour utiliser LXC et ses avantages, je vous recommande de lire le Guide Ubuntu pour Juju.

Site officiel - https://linuxcontainers.org/

Les listes de diffusion sont hébergées ici

Luis Alvarado
la source
2

Je pense qu'une meilleure question est ce que vous voulez faire avec LXC?

Je commencerais par la documentation de la communauté et poserais des questions spécifiques sur des choses spécifiques que vous ne comprenez pas.

https://help.ubuntu.com/12.04/serverguide/lxc.html

https://help.ubuntu.com/community/LXC

LXC peut être utilisé pour isoler des services ou d'autres processus de l'hôte bien que l'isolation ne soit pas toujours parfaite.

LXC est, IMO, en développement rapide et cela peut aider si vous vous abonnez à la liste de diffusion.

http://lxc.sourceforge.net/index.php/about/lxc-development/

Distrowatch a également fait un bon tour d'horizon la semaine dernière

http://distrowatch.com/weekly.php?issue=20130429#qa

Panthère
la source