I needed to dive into Juju and Charmhub, so I used this tutorial:
See this annotated PDF for some notes. how-to-use-microk8s.pdf (63.4 KB)
At the end of the tutorial my mental model is:
Suggested tutorial (or does it already exist?)
Overall, this was useful, but I think it would be worth introducing Juju + microk8s to an application developer specifically, so that they can:
- get a feel for the tools (“kick the tyres”)
- learn some terminology
- understand the benefits
I am a server application developer (including microservices). I can write an application, install it on an Ubuntu server and hook it up to a database and other resources. I can also configure (for example) a load-balancing web server.
I am not familiar with Juju or Kubernetes, but I understand they will make things like deployments, upgrades and scaling easier.
Does something like the following tutorial already exist?
Let’s take a simple Django application and deploy it to microk8s using Juju. The application has two components, the Django code and a PostreSQL database:
We should be able to:
- build an OCI image from the source code
- create a Juju namespace in microk8s
- deploy the OCI image
- deploy the PostgreSQL charm
- hook things up
- access the Django website from our browser
Now that we have a basic application running, we should be able to:
- update the source code
- including a Django data migrations (e.g. new field)
- generate a new OCI image from the source code
- deploy the update
- confirm it still works!