web-dev-qa-db-fra.com

LXC Containers & Bridge Connection

J'ai besoin d'une configuration étape par étape pour créer des conteneurs LXC dans Ubuntu

  1. bonne façon de configurer le conteneur Lxc
  2. bonne façon de configurer cgroup
  3. bonne façon de configurer le réseau dans l'hôte et dans le conteneur

    Note

  4. j'ai configuré le conteneur plus de 30 à 35 fois, j'ai un problème avec cgroup (le monter dans fstab), après le retrait de l'ordinateur, après l'arrêt de l'écran, si je ne le redémarre pas, ça marche

  5. mon réseau dans container ne fonctionne pas, j'ai fait tout ce que je peux.
7
One Zero

La réponse suivante répète une grande partie des informations contenues dans les liens ci-dessous

LXC

Les conteneurs sont une technologie de virtualisation légère. Ils s'apparentent davantage à un chroot amélioré qu'à une virtualisation complète telle que Qemu ou VMware, à la fois parce qu'ils n'émulent pas de matériel et que les conteneurs partagent le même système d'exploitation que l'hôte. Par conséquent, les conteneurs sont mieux comparés aux zones Solaris ou aux jails BSD. Linux-vserver et OpenVZ sont deux implémentations préexistantes, développées indépendamment, de fonctionnalités de type conteneur pour Linux. En fait, les conteneurs ont été créés à la suite du travail effectué en amont des fonctionnalités vserver et OpenVZ. Certaines fonctionnalités de vserver et OpenVZ sont toujours manquantes dans les conteneurs. Toutefois, les conteneurs peuvent démarrer de nombreuses distributions Linux et présentent l'avantage de pouvoir être utilisés avec un noyau en amont non modifié.

Rendre LXC plus facile

L’un des objectifs principaux de 12.04 LTS était de faciliter l’utilisation de LXC. Pour ce faire, nous avons travaillé sur plusieurs fronts en corrigeant les bugs connus et en améliorant la configuration par défaut de LXC.

Créer un conteneur de base et le démarrer sur Ubuntu 12.04 LTS est maintenant réduit à:

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

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

Une autre chose sur laquelle nous avons travaillé pour rendre LXC plus facile à utiliser est la réduction du nombre de piratages nécessaires pour transformer un système standard en conteneur à zéro. À partir de 12.04, nous n’apportons aucune modification à un système Ubuntu standard pour le faire fonctionner dans un conteneur. Il est maintenant même possible de prendre une image raw VM et de l’amorcer dans un conteneur!

Le modèle ubuntu-cloud vous permet également d'obtenir l'une de nos images EC2/cloud et de le démarrer en tant que conteneur au lieu d'une instance cloud:

Sudo apt-get install lxc cloud-utils
Sudo lxc-create -t ubuntu-cloud -n my-cloud-container
Sudo lxc-start -n my-cloud-container

Et enfin, si vous voulez tester les nouveautés intéressantes, vous pouvez également utiliser [juju][3] avec LXC.

[ -f ~/.ssh/id_rsa.pub ] && ssh-keygen -t rsa
Sudo apt-get install juju apt-cacher-ng zookeeper lxc libvirt-bin --no-install-recommends
Sudo adduser $USER libvirtd
juju bootstrap
sed -i "s/ec2/local/" ~/.juju/environments.yaml
echo " data-dir: /tmp/juju" >> ~/ .juju/environments.yaml
juju bootstrap
juju deploy mysql
juju deploy wordpress
juju add-relation wordpress mysql
juju expose wordpress

# To tail the logs
juju debug-log

# To get the IPs and status
juju status

Rendre LXC plus sûr

Un autre objectif principal de LXC dans Ubuntu 12.04 était de le rendre sûr. John Johansen a réalisé un travail étonnant d’extension d’apparmor afin de nous permettre de mettre en place des profils d’apparmeur par conteneur et d’empêcher la plupart des comportements dangereux connus de se produire dans un conteneur.

REMARQUE: Tant que les espaces de noms d'utilisateur ne seront pas implémentés dans le noyau et utilisés par LXC, nous ne dirons PAS que LXC est protégé contre les droits root. Cependant, le profil apparmor par défaut, tel que fourni dans Ubuntu 12.04, LTS bloque toute action armée dont nous avons connaissance.

Cela signifie principalement que l'accès en écriture à/proc et à/sys est fortement limité, le montage de systèmes de fichiers est également limité, permettant uniquement aux systèmes de fichiers connus d'être sûrs d'être montés par défaut. Les fonctionnalités sont également limitées dans le profil LXC par défaut pour empêcher un conteneur de charger des modules du noyau ou de contrôler apparmor.

Plus de détails à ce sujet sont disponibles ici:

http://www.stgraber.org/2012/05/04/lxc-in-ubuntu-12-04-lts/

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

http://www.stgraber.org/2012/03/04/booting-an-ubuntu-12-04-virtual-machine-in-an-lxc-container/

6
One Zero

cgroup est déjà configuré sur le serveur Ubuntu 11.10, vous n’avez pas à le configurer. Ce qui suit est un bon guide en général.

http://www.activestate.com/blog/2011/10/virtualization-ec2-cloud-using-lxc

1
bmullan

Si vous n'avez pas encore vu le panneau Web LXC ... essayez-le.

http://lxc-webpanel.github.io/

Il est facile à installer et vous offre une interface de navigateur agréable pour le panneau Web LXC.

L'application est écrite en Python et vous permet de faire la grande majorité de LXC mgmt à partir de l'interface graphique.

Créer/Démarrer/Arrêter/Détruire, Geler/Dégeler, éditer/modifier le réseau, éditer de nombreux paramètres de groupe de contrôle, etc.

Très bel outil

1
bmullan