Objectif

  • Réaliser une installation de LXD, avec prise en charge de limites :
    • Taille de la mémoire
    • Taille du disque dur
    • Nombre de processeurs
  • Utilisation des profiles "default" (bridge lxdbr0) et "mac" (macvlan)

Machine physique

  • Ubuntu 18.04 64 bits est installé sur un disque /dev/sda avec beaucoup de swap (10 GB par exemple)
  • Un second disque dur /dev/sbd doit etre partitionné avec une seule partition linux non formaté (id 83). Ce disque servira de stockage pour les conteneurs

Installation

  • apt-get install lxd zfs-dkms zfsutils-linux
  • lxd init :
    • Would you like to use LXD clustering : no
    • Do you want to configure a new storage pool : yes
    • Name of the new storage pool : default
    • Name of the storage backend to use : zfs
    • Create a new ZFS pool : yes
    • Would you like to use an existing block device : yes
    • Path to the existing block device : /dev/sdb1
    • Would you like to connect to a MAAS server : no
    • Would you like to create a new local network bridge : yes
    • What should the new bridge be called : lxdbr0
    • What IPv4 address should be used : 192.168.222.1/24
    • Would you like LXD to NAT IPv4 traffic on your bridge : yes
    • What IPv6 address should be used : none
    • Would you like LXD to be available over the network : no
    • Would you like stale cached images to be updated automatically : yes
    • Would you like a YAML "lxd init" preseed to be printed : no
  • lxc list
  • zfs list (donne des indications sur le disque sdb)

Création d'un profile pour MACVLAN

  • lxc profile copy default mac
  • lxc profile edit mac
    • nictype: macvlan
    • parent: enp0s3

Création d'un conteneur

  • Je choisi le nom de conteneur "abc"
  • lxc init images:ubuntu/14.04 abc
  • lxc profile assign abc mac
  • lxc config set abc limits.memory 256MB
  • lxc config set abc limits.cpu 1
  • lxc config device add abc root disk pool=default path=/ size=2GB
  • lxc config edit abc
  • lxc start abc

Anciens articles à consulter