documentation:technique:lxc
Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédenteProchaine révisionLes deux révisions suivantes | ||
doc:technique:lxc [2016/11/22 19:52] – [Installation] ajout d'un paragraphe sur la configuration par défaut jerome | documentation:technique:lxc [2017/04/16 20:11] – [Installation] tyrben | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | ====== | + | ====== |
+ | |||
+ | ===== Introduction | ||
LXC est utilisé sur notre serveur dans le but de séparer les différents services que nous allons proposer. Cette documentation fait suite aux différents ateliers réalisés pour découvrir et se former sur LXC. | LXC est utilisé sur notre serveur dans le but de séparer les différents services que nous allons proposer. Cette documentation fait suite aux différents ateliers réalisés pour découvrir et se former sur LXC. | ||
Ligne 9: | Ligne 11: | ||
* **cgroups(7)** | * **cgroups(7)** | ||
- | ====== Installation | + | ===== Installation ===== |
- | Sous Debian, il suffit d' | + | Sous Debian, il suffit d' |
+ | |||
+ | FIXME Il y a une version en particulier à installer ? Il me semble qu'on est allé la chercher dans des backports. | ||
D' | D' | ||
- | ===== Configuration par défaut | + | ==== Configuration par défaut ==== |
Il est possible de définir une configuration par défaut qui sera incluse dans chaque nouveau conteneur. Cela est particulièrement pratique pour la configuration réseau, souvent la même pour tous. Ce fichier en question est ''/ | Il est possible de définir une configuration par défaut qui sera incluse dans chaque nouveau conteneur. Cela est particulièrement pratique pour la configuration réseau, souvent la même pour tous. Ce fichier en question est ''/ | ||
+ | |||
===== Configuration réseau ===== | ===== Configuration réseau ===== | ||
Il y a plusieurs façon de configurer le réseau au sein des conteneurs. | Il y a plusieurs façon de configurer le réseau au sein des conteneurs. | ||
- | La plus classique étant de passer par un //bridge// (ou pont en français) créé sur l' | + | La plus classique étant de passer par un //[[https:// |
* faire de la redirection de ports depuis l' | * faire de la redirection de ports depuis l' | ||
Ligne 43: | Ligne 48: | ||
Il faut tout d' | Il faut tout d' | ||
- | echo ' | + | echo ' |
Celle-ci va créer le fichier '' | Celle-ci va créer le fichier '' | ||
Ligne 75: | Ligne 80: | ||
-> exemple de règle iptables NAT | -> exemple de règle iptables NAT | ||
- | ====== | + | ==== lxc-net |
+ | |||
+ | '' | ||
+ | |||
+ | === Intérêt === | ||
+ | |||
+ | Même si on pourrait être tenté de n' | ||
+ | |||
+ | Enfin, une fois de plus, il est bon de se questionner sur ce que l'on veut faire avant tout, afin de voir s'il est adapté et nécessaire. Pour une utilisation sur son poste personnel, orientée développement par exemple, ce script apporte un bon nombre d' | ||
+ | |||
+ | === Mise en place === | ||
+ | |||
+ | 1. Créer un fichier ''/ | ||
+ | |||
+ | <code bash> | ||
+ | # Active l' | ||
+ | USE_LXC_BRIDGE=" | ||
+ | # Nom de l' | ||
+ | LXC_BRIDGE=" | ||
+ | # IP de l' | ||
+ | LXC_ADDR=" | ||
+ | # Masque de sous-réseau de l' | ||
+ | LXC_NETMASK=" | ||
+ | # Adresse du réseau, utilisé pour les règles iptables | ||
+ | LXC_NETWORK=" | ||
+ | # Plage d'IP servies par le DHCP | ||
+ | LXC_DHCP_RANGE=" | ||
+ | # Nombre d'IP au sein de la plage définie ci-dessus | ||
+ | LXC_DHCP_MAX=" | ||
+ | # Extension de la configuration de dnsmasq | ||
+ | LXC_DHCP_CONFILE="" | ||
+ | # Domaine des conteneurs sur le réseau | ||
+ | LXC_DOMAIN= | ||
+ | </ | ||
+ | |||
+ | Pour information, | ||
+ | |||
+ | 2. Redémarrer le service '' | ||
+ | |||
+ | systemctl restart lxc-net.service | ||
+ | |||
+ | ... et l' | ||
+ | |||
+ | systemctl enable lxc-net.service | ||
+ | |||
+ | 3. On peut désormais vérifier le bon fonctionnement du script et ce qu'il est censé configurer : | ||
+ | |||
+ | * est-ce que l' | ||
+ | |||
+ | ip addr | ||
+ | |||
+ | * est-ce que le serveur DNS a bien été lancé et écoute sur la bonne interface ? | ||
+ | |||
+ | ps aux | grep dnsmasq | ||
+ | netstat -ntlp | ||
+ | |||
+ | * est-ce que le service s'est bien exécuté ? | ||
+ | |||
+ | systemctl status lxc-net.service | ||
+ | |||
+ | 4. Enfin, il reste à adapter la configuration par défaut des conteneurs (dans ''/ | ||
+ | |||
+ | lxc.network.type = veth | ||
+ | lxc.network.link = lxcbr0 | ||
+ | lxc.network.flags = up | ||
+ | |||
+ | ===== Utilisation | ||
- | ===== Création d'un conteneur | + | ==== Création d'un conteneur ==== |
Pour créer un conteneur, cela se fait avec la commande '' | Pour créer un conteneur, cela se fait avec la commande '' | ||
Ligne 87: | Ligne 158: | ||
Le conteneur est désormais créé, il est stocké par défaut dans le dossier ''/ | Le conteneur est désormais créé, il est stocké par défaut dans le dossier ''/ | ||
- | ==== Optimisations | + | === Optimisations === |
Par défaut, le conteneur sera crée avec une interface réseau '' | Par défaut, le conteneur sera crée avec une interface réseau '' | ||
Ligne 93: | Ligne 164: | ||
iface eth0 inet manual | iface eth0 inet manual | ||
- | ===== Accès à un conteneur | + | ==== Accès à un conteneur ==== |
Une fois le conteneur créé, il va falloir le démarrer avec la commande '' | Une fois le conteneur créé, il va falloir le démarrer avec la commande '' |
documentation/technique/lxc.txt · Dernière modification : 2018/09/09 21:26 de cacatoes