Outils pour utilisateurs

Outils du site


sysadmin:linux:lxd:start

LXD

LXD est le petit frère de LXC 1). Il arrive après celui-ci mais ne réécrit pas tout, il s'appuie également sur la liblxc. Il casse la rétro-compatibilité de LXC et intègre un ensemble de bonnes pratiques qui se sont imposées avec le temps, le rendant plus simple à utiliser dans des environnements de production. Tout est néanmoins faisable sous LXC, et les commandes dans LXD conservent d'ailleurs le mnémonique lxc.

Installation

Le processus d'installation varie légèrement d'une distribution à une autre, il est décrit en détail par la documentation officielle. Une fois les paquet installés, il faut placer les utilisateurs gestionnaires (root y compris) utilisant les commandes lxc dans le groupe lxd

Vérifier la présence du group lxd sur le système:

$ cat /etc/group | grep -i lxd

Ajouter le ou les utilisateurs au groupe s'ils n'y sont pas. Pour l'utilisateur courant les droits du groupe ne seront appliqués qu'après déconnexion/reconnexion. Pour éviter de se déconnecter il est possible d'utiliser la commande newgrp dans le shell:

newgrp lxd

Une fois dans le groupe, initialiser le contexte: stockage et réseau via la commande:

$ sudo lxd init
Ici le mnémonique est bien lxd

Commandes usuelles

Les commandes sont tapées par l'utilisateur depuis le client (CLI). Dans le cas le plus simple le client est installé sur la même machine que le serveur. Un client peut être en relation avec un ou plusieurs serveurs de conteneurs.

Les images sont stockées dans des dépôts. Pour lister les dépôts présents après l'installation:

$ lxc remote list

Le dépôt par défaut est le dépôt local, il peut être modifié avec

$ lxc remote set-default ubuntu

Après validation de cette commande, le dépôt par défaut est le dépôt nommé ubuntu.

Lister les images disponibles dans le dépôt par défaut:

$ lxc image list 

Lister toutes les images contenues dans un dépôt nommé other-repo

$ lxc image list other-repo:

Les nombreux résultats pourront être filtrés de façon traditionnelle via | grep et autres filtres ou par l'utilisation de motifs simples entre guillemets après le nom du dépôt:

$ lxc image list ubuntu:'xenial'

L'exemple ci-dessus retourne les images dont le nom contient le texte xenial dans le dépôt ubuntu.

Ci-dessous, la commande retourne toutes les images contenant debian dans leur nom et stockées dans le dépôt nommé images:

lxc image list images:'debian'

Lancer l’exécution d'une image système dans un conteneur que l'on désignera deb9:

$ lxc launch images:debian/9/i386 deb9
$ lxc list

Pour se connecter au conteneur deb9:

$ lxc exec deb9 -- /bin/bash

Ou pour lancer une simple commande dans le conteneur deb9

$ lxc exec deb9 -- apt-get update

Pour échanger des fichiers avec un conteneur:

# Récupérer un fichier du conteneur "deb9":
$ lxc file pull deb9/etc/hosts
 
# Copier un fichier dans le conteneur "deb"
$ lxc file push ./mylist.txt deb9/tmp/

Arrêter l’exécution du système dans le conteneur deb9

$ lxc stop deb9

Supprimer le conteneur deb9

$ lxc delete deb9

Références

1)
LinuX Container
sysadmin/linux/lxd/start.txt · Dernière modification : 2021/02/01 21:51 de 127.0.0.1