Third-party integrations¶
Beside using LXD natively, you can also use LXD within external tools.
LXD integrations are available for the following tools:
Ansible¶
Ansible is an open-source software provisioning, configuration management, and application-deployment tool.
The main integrations between Ansible and LXD are:
- A connection plugin allowing Ansible to manage a LXD instance just as any other Linux system
- An inventory plugin to detect LXD instances
- A plugin to create and manage LXD containers
- A plugin to manage LXD profiles
To manage LXD in Ansible, you need a LXD Server (see Set up LXD).
Juju¶
Juju is an open-source software for application management and automation.
Juju can be used to deploy a variety of workloads across many different clouds and virtualization providers. It supports both deploying workloads against a LXD server or cluster and using LXD on the machines it's deploying to separate otherwise colocated services.
Take a look at the Step-by-Step Guide for LXD in the Juju Documentation.
MAAS¶
MAAS is an open-source server provisioning software tool for your data centre.
Self-service, remote installation of Windows, CentOS, ESXi and Ubuntu on real servers turns your data centre into a bare metal cloud.
MAAS integrates with LXD to provide easy creation of virtual machines. It can automatically deploy and configure LXD as part of the deployment of a physical machine or can be connected to an existing LXD deployment to dynamically create virtual machines on it.
Read about how MAAS works and try MAAS and LXD in the MAAS hands on tutorial.
Terraform¶
Terraform is an open-source infrastructure-as-code software tool for configuration and service management.
The LXD integration allows for Terraform to deploy instances on LXD servers with support for local and remote deployments.
Take a look at the Terraform Documentation on LXD for more information.
To manage LXD in Terraform, you need a LXD Server (see Set up LXD).
Puppet Bolt¶
Bolt is an open source orchestration tool that automates the manual work it takes to maintain your infrastructure.
The LXD transport allows for interacting with LXD instances.
For more information, see the Puppet Bolt Documentation on LXD.
To manage LXD in Puppet Bolt, you need a LXD Server (see Set up LXD).
Packer¶
Packer is an open source tool for creating identical machine images for multiple platforms.
With Packer's LXD builder, it's possible to re-use your existing cloud image building pipeline and with the LXD builder, build a LXD container image.
Take a look at the Packer Documentation on LXD for more information.
Additionally our Getting started guide on images and the Advanced guide on instance configuration might contain useful information regarding image choice, configuration options etc.
To create LXD images in Packer, you need a LXD Server (see Set up LXD).
Additional Information¶
Set up LXD¶
If you haven't set up a LXD server already, you might start with our Getting started guide, especially the chapters about Installation and Initial configuration.
For instructions on setting up a LXD remote server, see the Advanced guide as well.