Charmed PostgreSQL Tutorial | 1. Set up the environment

Charmed PostgreSQL K8s Tutorial > 1. Set up the environment

Set up the environment

In this step, we will set up a development environment with the required components for deploying Charmed PostgreSQL.

Before you start, make sure your machine meets the minimum system requirements.

Summary


Set up Multipass

Multipass is a quick and easy way to launch virtual machines running Ubuntu. It uses the cloud-init standard to install and configure all the necessary parts automatically.

Install Multipass from the snap store:

sudo snap install multipass

Launch a new VM using the charm-dev cloud-init config:

multipass launch --cpus 4 --memory 8G --disk 50G --name my-vm charm-dev

Note: All ‘multipass launch’ parameters are described here.

The Multipass list of commands is short and self-explanatory. For example, to show all running VMs, just run the command multipass list.

As soon as a new VM has started, access it using

multipass shell my-vm

Note: If at any point you’d like to leave a Multipass VM, enter Ctrl+D or type exit.

All necessary components 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.

Set up Juju

Let’s bootstrap Juju to use the local LXD controller:

juju bootstrap localhost overlord

A controller can work with different models. Set up a specific model for Charmed PostgreSQL VM named ‘tutorial’:

juju add-model tutorial

You can now view the model you created above by running the command juju status. You should see something similar to the following example output:

Model     Controller  Cloud/Region         Version  SLA          Timestamp
tutorial  overlord    localhost/localhost  3.1.7    unsupported  09:38:32+01:00

Model "admin/tutorial" is empty.

Next step: 2. Deploy PostgreSQL