⚠️ Not for production use


The other day I wanted to test Humio on OpenShift, but ran into some problems. Mainly due to OpenShift’s reluctance to run containers as root, but also a few other Humio/Zookeeper/Kafka related issues. After a few tweaks I had it up and running, having the pod use a dedicated system account with root/anyuid privileges. Below is a working deployment configuration and the steps required to make it run, so you too can have Humio run on OpenShift. This was tested on OKD (Origin) v3.9 and v3.11. Please note that running containers as root is unadvisable and generally considered bad security practice. Take this into consideration if you plan to use it in a live production environment. You can find the DC here. These are the main points:

  • A memory limit of 5 GB (set it to anything below and it won’t start)
  • Basic health checks
  • Humio environment variables required for it to run (bind socket and port)
  • ‘Recreate’ deployment strategy - with persistent storage Kafka refuses to start if storage is already claimed by another process, making rolling deployments fail
  • Runs as service account user “humio”


1. Create a new project (optional)

oc new-project humio-project

2. Create a dedicated serviceaccount with root (anyuid) privileges

oc project humio-project
oc create serviceaccount humio
oc adm policy add-scc-to-user anyuid -z humio

3. Deploy the Humio Docker image using the Docker Hub repository

oc new-app humio/humio
oc expose svc/humio

4. Replace the default deployment configuration

wget https://gitlab.com/snippets/1792577/raw -O humio.yaml
oc replace -f humio.yaml

And that should be it! If your OpenShift installation supports persistent volumes (PVs), and you want Humio to claim storage, you can add storage claims mapped to the following directories: