3.7 KiB
+++ title = "Installing openQA on Kubernetes with Helm Charts" date = 2025-06-04
[taxonomies] categories = ["Linux"]
[extra] author = "Emil Miler" +++
Recently, I experimented with Kubernetes by installing openQA using Helm Charts. This article is a simple guide on how to do the same locally on your computer, with minimal effort.
You need a working cluster. There are several single-node management tools that let you run a Kubernetes cluster locally on your machine, such as k3d, kind, or minikube. They provide a cluster entirely isolated within a container.
I will be using minikube.
Installation of Tools
Install minikube -- or any other management tool -- along with helm. For example, on Void Linux:
xbps-install -S minikube kubernetes-helm
You also have to have a running container engine, such as Podman or Docker. Configuring a container engine is outside the scope of this article.
Preparing the Cluster
Since I am using minikube, I can simply start it like so:
minikube start
This might take a while during the initial setup. If you want, you can also run a web-based dashboard for better visualization and debugging.
minikube dashboard
The dashboard will open in your default browser.
Downloading openQA Charts
The official charts are available in the openQA source code repository, which can be cloned with the following command:
git clone https://github.com/os-autoinst/openQA.git
If you have GitHub setup properly with SSH, you might use this instead:
git clone git@github.com:os-autoinst/openQA.git
The charts themselves are stored in container/helm
. You can change your working directory to that location:
cd openQA/container/helm
Chart Structure
The charts
folder contains several different charts:
openqa
-- Parent chart.webui
-- Web interface and API for openQA.worker
-- openQA worker that performs the actual test execution.
We will be working with the parent chart openqa
. Since it references the other charts, they will be handled automatically by the parent.
Installing openQA
We then have to update dependencies and install openQA:
$ helm dependency update charts/openqa/
$ helm install openqa charts/openqa/
We can also list installed releases to confirm that openQA was deployed:
$ helm list
NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION
openqa default 1 2025-06-19 12:39:08.150021755 +0200 CEST deployed openqa-0.1.0
The minikube dashboard also lists all running pods:
Accessing openQA WebUI
Since openQA is confined to its own network within minikube, it is not directly accessible from the host system. Below are the services running inside minikube:
$ kubectl get services
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
db ClusterIP 10.103.192.20 <none> 5432/TCP 6m34s
db-hl ClusterIP None <none> 5432/TCP 6m34s
kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 174m
openqa-webui ClusterIP 10.104.24.71 <none> 9526/TCP,9527/TCP,9528/TCP,9529/TCP 6m34s
First, we need to create a proxy within the minikube network:
minikube tunnel
The openQA WebUI is running at 10.104.24.71
on port 9526
and is now accessible directly from the browser.