New 2.5 feature: Remote LXD support and LXD clustering


Now that 2.5 is released I’d like to call out some of the new features for
those who haven’t been following the development this cycle.

In this post I’ll be covering Remote LXD support and LXD clustering.

Remote LXD support and LXD clustering

A remote LXD cloud is now possible. Like other custom clouds, it is added via
the add-cloud command. The Juju client can then request a controller be
created on the remote LXD host. This naturally bolsters the already supported
LXD clustering feature; both features are expected to be used in tandem.

Users now no longer need to co-locate both the Juju client and the controller
on one of the cluster nodes. That’s a big advantage.

Placement directives are supported for LXD clustering. You can specify upon
which LXD host (cluster node name) a Juju machine will be created. These nodes
effectively become availability zones for a LXD clustered cloud.

Here we add a remote LXD cloud (call it ‘lxd-remote’), add credentials for it, and
specify on which node the controller will be placed:

juju add-cloud
juju add-credential lxd-remote
juju bootstrap lxd-remote zone=node2

See documentation Adding a remote LXD cloud and LXD clustering for more