Skip to content

Pre-requisites

Install these before Installation. Missing any item usually shows up as empty recommendations, failing health checks, or webhook errors.

Cluster and tooling

Requirement Notes
Kubernetes 1.33+ In-place pod resource updates are part of the design; older versions are unsupported. PSI-aware optimization requires 1.34+; see Prometheus section below.
kubectl Configured for the target cluster context.
Helm 3 For installing the official chart (OCI registry).

Prometheus

CruiseKube reads container and node metrics (usage, throttling, PSI where exposed, etc.) from Prometheus.

  • You may use an existing Prometheus or install one via Helm (given below).
  • Set CRUISEKUBE_DEPENDENCIES_INCLUSTER_PROMETHEUSURL (or equivalent) to a URL reachable from the controller pods (in-cluster Service URL, not localhost).
Optional: install Prometheus via Helm

If you do not already have Prometheus, you can add kube-prometheus-stack. A second install can fail if Prometheus already exists in the namespace—reuse the existing instance instead.

helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
helm repo update
helm install kube-prometheus-stack prometheus-community/kube-prometheus-stack \
  --namespace monitoring \
  --create-namespace \
  --set alertmanager.enabled=false \
  --set grafana.enabled=false \
  --set prometheus.prometheusSpec.serviceMonitorSelectorNilUsesHelmValues=false

PSI (Pressure Stall Indicator): CruiseKube’s algorithm is built around PSI-aware CPU reasoning on clusters that expose the right metrics (Kubernetes 1.34+ PSI story). If PSI is absent, behavior degrades toward usage-only signals—still useful, but not identical to a full PSI deployment. See Algorithm.

PostgreSQL

CruiseKube persists workload statistics, recommendations, and per-workload overrides in a database.

  • Option A: Bitnami PostgreSQL subchart official Helm chart (postgresql.enabled=true), is enabled by default.
  • Option B: Use your own Postgres and set global.postgresql.auth.* (host, port, user, password, database) per Helm chart reference.

Network and RBAC

  • Controller and webhook must reach kube-apiserver, Prometheus, and PostgreSQL.
  • The chart installs RBAC and MutatingWebhookConfiguration resources; ensure your GitOps / policy engines allow them.

What you do not need (for a minimal install)

  • Grafana (optional for you; not required by CruiseKube).
  • A separate metrics long-term store (CruiseKube queries Prometheus directly).