Environment Setup
This is part of the Charmed Temporal 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:
- A machine running Ubuntu 22.04 (Jammy) or later. Machines running other operating systems may opt for the use of Multipass. A simple set of instructions to set up Multipass can be found here.
- 8GB of RAM.
- 2 CPU threads.
- At least 20GB of available storage.
- Access to the internet for downloading the required snaps and charms.
Install Canonical Kubernetes
On your machine, install and configure Canonical Kubernetes (K8s):
sudo snap install k8s --classic
sudo k8s bootstrap
Wait until the k8s
cluster is in Ready
state. You can check it as follows:
sudo k8s status --wait-ready
Install kubectl and write kubeconfig
for the current user:
sudo snap install kubectl --classic
mkdir -p ~/.kube
sudo k8s config > ~/.kube/config
Set up Juju
Install Juju as follows:
sudo snap install juju --channel=latest/stable
Register your Canonical K8s cluster with Juju as a cloud named ck8s
:
juju add-k8s ck8s
Confirm the new cloud entry is present:
juju clouds
# >>> Cloud Regions Default Type Credentials Source Description
# >>> ck8s 0 k8s 1 local A Kubernetes Cluster
# >>> k8s 0 k8s 0 built-in A local Kubernetes context
# >>> localhost 1 localhost lxd 0 built-in LXD Container Hypervisor
Install a Juju controller into your ck8s
cloud. You can name it temporal-controller
:
juju bootstrap ck8s temporal-controller
Create a workspace, or ‘model’, on this controller. You can name it temporal-model
:
juju add-model temporal-model
You can check it’s status as follows:
juju status
# >>> Model Controller Cloud/Region Version SLA Timestamp
# >>> temporal-model temporal-controller ck8s 3.6.8 unsupported 06:26:34-06:00
# >>>
# >>> Model "admin/temporal-model" is empty.
See next: Deploying Temporal Server