What is Helm and How to Deploy it and Configure an App

In this post, we’ll install Helm, explore the essential Helm commands, and deploy a real application: Stirling‑PDF, a powerful self‑hosted PDF toolkit.

Installing Helm on Ubuntu

Helm is the package manager for Kubernetes just like apt is for ubuntu and Helm is the best way to find, share, and use software built for Kubernetes

https://helm.sh/docs/intro/install

Check version

awk k3s-cp-01 ~ ❯ helm version
version.BuildInfo{Version:”v3.20.1″, GitCommit:”a2369ca71c0ef633bf6e4fccd66d634eb379b371″, GitTreeState:”clean”, GoVersion:”go1.25.8″}

Here are the core Helm commands every Kubernetes admin should know:

  • helm repo add — add a chart repository
  • helm repo update — refresh the repo cache
  • helm search repo — search for charts
  • helm install — install a chart
  • helm list — list installed releases
  • helm uninstall — remove a release
  • helm upgrade — upgrade an existing release
  • helm show values — view configurable options for a chart

All Helm charts are published on ArtifactHub: https://artifacthub.io

Deploying Stirling‑PDF on Kubernetes

Stirling‑PDF is a locally hosted web application for performing PDF operations — merge, split, convert, compress, rotate, OCR, and more.

Pull the Helm Chart

helm pull stirling-pdf/stirling-pdf-chart

This downloads a .tgz package:

stirling-pdf-chart-3.1.0.tgz

Extract the Chart

tar -xzvf stirling-pdf-chart-3.1.0.tgz

Inside the folder:

Chart.yaml
README.md
templates/
values.yaml

The values.yaml file is where you add your custom configuration.

Below is a typical configuration for a homelab setup:

SettingValueWhy
service.typeNodePortDirect node access, no LoadBalancer needed
service.nodePort30081Fixed port for easy access
persistence.enabledtrueKeeps data between restarts
persistence.storageClasslocal-pathWorks with K3s local-path provisioner
persistence.size1GiEnough for temporary PDF storage
ingress.enabledfalseUsing NodePort instead
probes.initialDelaySeconds90App takes time to start

Install Stirling‑PDF

helm install stirling-pdf stirling-pdf/stirling-pdf-chart \
  --namespace stirling --create-namespace \
  -f values.yaml

Check Logs & Resources

Follow logs

kubectl logs -n stirling -l app.kubernetes.io/name=stirling-pdf -f

List all resources:

kubectl get all -n stirling

Describe pod status

kubectl describe pod -l app.kubernetes.io/name=stirling-pdf
kubectl get pvc

Check logs:

kubectl logs -l app.kubernetes.io/name=stirling-pdf --previous

Upgrade the Helm Chart

Its very easy to upgrade

helm upgrade stirling-pdf . -n stirling

Helm Rollback

Its very easy to rollback

helm history stirling-pdf

Roll back by version number

helm rollback stirling-pdf 2
(Visited 17 times, 1 visits today)

By Ash Thomas

Ash Thomas is a seasoned IT professional with extensive experience as a technical expert, complemented by a keen interest in blockchain technology.