Environment Setup
This is part of the PgBouncer Tutorial. Please refer to this page for more information and the overview of the content.
Minimum requirements
Before we start, make sure your machine meets the following requirements.
Multipass environment
Multipass is a quick and easy way to launch virtual machines running Ubuntu. It uses “cloud-init” standard to install and configure all the necessary parts automatically.
Let’s install Multipass from Snap and launch a new VM using “charm-dev” cloud-init config:
sudo snap install multipass && \
multipass launch --cpus 4 --memory 8G --disk 30G --name my-vm charm-dev # tune CPU/RAM/HDD accordingly to your needs
Note: all ‘multipass launch’ params are described here.
Multipass list of commands is short and self-explanatory, e.g. show all running VMs:
multipass list
As soon as new VM started, enter inside using:
multipass shell my-vm
Note: if at any point you’d like to leave Multipass VM, enter Ctrl+d
or type exit
.
All the parts have been pre-installed inside VM already, like LXD and Juju (the files ‘/var/log/cloud-init.log’ and ‘/var/log/cloud-init-output.log’ contain all low-level installation details). Let’s bootstrap Juju to use local LXD:
juju bootstrap localhost overlord
The controller can work with different models; models host applications such as PgBouncer. Set up a specific model for Charmed PostgreSQL+PgBouncer named ‘tutorial’:
juju add-model tutorial
You can now view the model you created above by entering the command juju status
into the command line. You should see the following:
Model Controller Cloud/Region Version SLA Timestamp
tutorial overlord localhost/localhost 3.1.6 unsupported 23:20:53+01:00
Model "admin/tutorial" is empty.