Try It Out
In this example we will deploy Prometheus on a Kubernetes cluster using the Minimus Prometheus Helm chart. Prometheus will provide a full monitoring stack with metric collection, alerting, and visualization out of the box.
Step 1: Start Cluster
If you have a cluster to work with, skip this step. Otherwise, start a Minikube cluster. Deployment instructions
Step 2: Create Secret
First, create a namespace:
kubectl create ns prometheus
Next, create a Kubernetes secret for the Minimus token so Helm will be able to pull images from the Minimus registry:
kubectl create secret docker-registry minimus-registry \
--docker-server=reg.mini.dev \
--docker-username=minimus \
--docker-password={token} \
--namespace=prometheus
Step 3: Deploy the Helm Chart
Deploy the Minimus Helm chart:
helm install my-prometheus oci://helm.mini.dev/prometheus \
-n prometheus \
--wait
If you want to override the chart's defaults, go to the Values tab, save a copy locally with your changes. Deploy the chart with your overrides using -f values.yaml:
helm install my-prometheus oci://helm.mini.dev/prometheus \
-f values.yaml \
-n prometheus \
--wait
Step 4: Verify Prometheus is Running
Confirm the chart deployed successfully and all components started:
kubectl get pods -n prometheus
You should see output similar to:
NAME READY STATUS RESTARTS AGE
my-prometheus-server-xxxxxxxxx-xxxxx 2/2 Running 0 2m
my-prometheus-prometheus-alertmanager-0 1/1 Running 0 2m
my-prometheus-kube-state-metrics-xxxxxxxxx-xxxxx 1/1 Running 0 2m
my-prometheus-prometheus-node-exporter-xxxxx 1/1 Running 0 2m
my-prometheus-prometheus-pushgateway-xxxxxxxxx-xxxxx 1/1 Running 0 2m
Step 5: Test HTTP Endpoint
Forward the Prometheus server port to your local machine:
kubectl port-forward svc/my-prometheus-server 9090:80 -n prometheus
In another terminal, verify the health endpoint responds:
curl -sf http://localhost:9090/-/healthy
You should see:
Prometheus Server is Healthy.
Query the Prometheus API to confirm metric collection is working:
curl -s http://localhost:9090/api/v1/query?query=up | jq '.data.result | length'
A non-zero result confirms Prometheus is actively scraping targets.
Step 6: Clean Up
Uninstall the chart and delete the namespace to remove all resources:
helm uninstall my-prometheus -n prometheus
kubectl delete namespace prometheus