Setting up LXD

15 minutes
  • 3 Learning Objectives

About this Hands-on Lab

LXD leverages the Linux Container (LXC) system to create light, effective system containers. However, before we begin to use LXC/LXD, we need to ensure we have it properly installed, initialized, and otherwise configured. In this lab, we will install LXD 3.0 Stable on Ubuntu 18.04 and ensure it’s up and running.

Learning Objectives

Successfully complete this lab by achieving the following learning objectives:

Install LXD

Install LXD via snap:

sudo snap install lxd --channel=3.0/stable
Add cloud_user to lxd Group

Ensure the cloud_user can execute lxc/lxd commands by adding it to the lxd group:

sudo usermod cloud_user -aG lxd

Log out then log back in.

Initialize LXD

Initialize LXD and answer the prompts presented:

lxd init

Respond to the prompts as follows:

Would you like to use LXD clustering? (yes/no) [default=no]:
no

Do you want to configure a new storage pool? (yes/no) [default=yes]:
yes

Name of the new storage pool [default=default]:
default

Name of the storage backend to use (btrfs, ceph, dir, lvm, zfs) [default=zfs]:
zfs

Create a new ZFS pool? (yes/no) [default=yes]:
yes

Would you like to use an existing block device? (yes/no) [default=no]:
yes

Path to the existing block device:
/dev/nvme1n1

Would you like to connect to a MAAS server? (yes/no) [default=no]:
no

Would you like to create a new local network bridge? (yes/no) [default=yes]:
yes

What should the new bridge be called? [default=lxdbr0]:
lxdbr0

What IPv4 address should be used? (CIDR subnet notation, “auto” or “none”) [default=auto]:
auto

What IPv6 address should be used? (CIDR subnet notation, “auto” or “none”) [default=auto]:
auto

Would you like LXD to be available over the network? (yes/no) [default=no]:
yes

Address to bind LXD to (not including port) [default=all]:
all

Port to bind LXD to [default=8443]:
8443

Trust password for new clients:
anypassword

Again:
anypassword

Would you like stale cached images to be updated automatically? (yes/no) [default=yes]
yes

Would you like a YAML "lxd init" preseed to be printed? (yes/no) [default=no]:
no

Additional Resources

Our company is working on lifting-and-shifting a number of legacy applications onto resource-saving Linux containers. However, before any of this can be done, our team needs LXD-friendly development environments from which to work. Using the provided lab environment, we have to install and initialize LXD 3.0 Stable with a ZFS filesystem on /dev/nvme1n1, and make LXD available over the network.

What are Hands-on Labs

Hands-on Labs are real environments created by industry experts to help you learn. These environments help you gain knowledge and experience, practice without compromising your system, test without risk, destroy without fear, and let you learn from your mistakes. Hands-on Labs: practice your skills before delivering in the real world.

Sign In
Welcome Back!

Psst…this one if you’ve been moved to ACG!

Get Started
Who’s going to be learning?