Charmed PostgreSQL K8s

Channel Revision Published Runs on
latest/stable 20 20 Sep 2022
Ubuntu 20.04
14/stable 193 13 Mar 2024
Ubuntu 22.04
14/candidate 193 31 Jan 2024
Ubuntu 22.04
14/beta 211 13 Mar 2024
Ubuntu 22.04
14/edge 237 16 Apr 2024
Ubuntu 22.04
juju deploy postgresql-k8s --channel 14/stable
Show information

Platform:

Charmed PostgreSQL K8s Tutorial > 1. Set up the environment

Set up the environment

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

Minimum requirements

Before we start, make sure your machine meets the following requirements:

  • Ubuntu 20.04 (Focal) or later.
  • 8GB of RAM.
  • 2 CPU threads.
  • At least 20GB of available storage.
  • Access to the internet for downloading the required OCI/ROCKs and charms.

Multipass environment

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 Snap:

sudo snap install multipass

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

multipass launch --cpus 4 --memory 8G --disk 30G --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 the VM already, like MicroK8s and Juju. The files /var/log/cloud-init.log and /var/log/cloud-init-output.log contain all low-level installation details.

A controller can work with different models. Set up a specific model for Charmed PostgreSQL K8s 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  charm-dev   microk8s/localhost  2.9.42   unsupported  11:56:38+01:00

Model "admin/tutorial" is empty.