Jack Wallen shows you how to deploy the Portainer web-based container manager on a microk8s cluster for more efficient development.

If you’re a Kubernetes developer, you know how frustrating it can be to spin up an entire K8 cluster just to get it up and running. Your development work for Kubernetes is already challenging enough that having to take the time to deploy a multi-node cluster can make your day’s work difficult. Adding a web-based GUI to the mix is ββan even bigger challenge.
SEE: Hiring Kit: Back-End Developer (TechRepublic Premium)
However, thanks to Canonical’s Microk8s, creating a working Kubernetes cluster doesn’t have to be a challenge, and with the help of Portainer’s web-based GUI, which is my preferred container management tool, everything is considerably easier. easy.
Let me show you how easy it is.
What you’ll need to implement Portainer
I’ll be demoing Ubuntu Server 22.04, so you’ll need at least three instances of that server and a user with sudo privileges. That is all.
How to install Microk8s
The first thing we will do is install Microk8s on all nodes. To do this, log in to each node and issue the command:
sudo snap install microk8s --classic
Make sure to run the above command on all nodes.
Next, you need to add your user to the microk8s group on all nodes with the command:
sudo usermod -aG microk8s $USER
Create a .kube directory with the command:
mkdir ~/.kube
Give that directory the proper permissions with the command:
sudo chown -f -R $USER ~/.kube
How to configure the nodes
Before we continue, we need to configure our nodes. First, we’ll configure the hostnames on each. First, the controller. Well, name this machine k8scontroller with the command:
sudo hostnamectl set-hostname k8scontroller
Sign out and sign in again.
Do the same on each node, naming them just k8snode1, k8snode2, k8snode3, and so on.
Next, we need to assign the IP addresses in the hosts file. Open that file for editing with the command:
sudo nano /etc/hosts
At the bottom of the file, add something like this (edit to match your IP address scheme):
192.168.1.40 k8scontroller
192.168.1.41 k8snode1
192.168.1.42 k8snode2
Save and close the file.
How to add nodes to the cluster
Next, we will add our nodes to the cluster for high availability. To do that, issue the following command on the controller:
microk8s add-node
The above command will generate the join command, which will look like this:
microk8s join 192.168.1.42:25000/4379f43596bc11a0b79171f30053ae01/c8453f5b270d
How to implement Portainer
Before we implement Portainer, we first need to enable a few additional pieces, which can be done with the (run on controller only) command:
microk8s enable dns ha-cluster ingress metrics-server rbac storage
Once the above command completes, you can add Portainer to the mix with the command:
microk8s enable portainer
You’ll need to give the container some time to deploy. Once you do, you can access the Portainer at http://SERVER:30777, where SERVER is the IP address of the K8s controller. You should be greeted by the Portainer login screen where you can create an initial admin user and you are all set to connect Portainer to your local Kubernetes environment.
Congratulations, you have just deployed Portainer to a K8s cluster in a couple of minutes. Enjoy that extra GUI convenience.
Subscribe to TechRepublic’s How To Make Tech Work on YouTube to get the latest tech tips for business professionals from Jack Wallen.