From https://juju.is/docs
Juju is an open source application modeling tool. It allows you to deploy, configure, scale and operate your software on public and private clouds.
Clouds
MAAS manages the machines and Juju manages the services running on those machines. – From https://maas.io/docs
Juju supports a wide variety of clouds:(cloud manages the machines,Juju manages the services)
- Amazon AWS *
- Microsoft Azure *
- Google GCE *
- Oracle *
- Rackspace *
- LXD (local) *
- LXD (remote)
- Kubernetes
- VMware vSphere
- OpenStack
- MAAS
- Manual
The exception is for a local LXD cloud; credentials are added automatically.
Setting up
You need to install snap, which will allow you to install other software.
Install Juju locally with snap:
sudo snap install juju --classic
Create a cloud on localhost
LXD manages operating system containers and makes the the “localhost” cloud available.
LXD is a next generation system container manager. It offers a user experience similar to virtual machines but using Linux containers instead.
It’s image based with pre-made images available for a wide number of Linux distributions and is built around a very powerful, yet pretty simple, REST API.
— LXD website
Install LXD with snap:
sudo snap install lxd
LXD needs to be configured for its environment:
# Use lxd help init for a list of all the options.
lxd init --auto
Verify that the localhost cloud is available
# Juju should have detected the presence of LXD and has added it as the localhost cloud.
juju clouds
Bootstrap the controller
Juju uses an active software agent, called the controller, to manage applications.
Install the controller through a bootstrap process.
# During the bootstrap process, Juju connects with the cloud, then provision a machine to install the controller on, then install it.
# juju help bootstrap
juju bootstrap localhost overlord
First workload: Hello Juju!
simple web application uses the Flask microframework to send “Hello Juju!” via HTTP.
# The charm name hello-juju is resolved into an actual charm version by contacting the Charm Store.
juju deploy hello-juju