Generic Kubernetes Installation
For AKS, GKE, OKD, Rancher, vanilla Kubernetes, and other conformant clusters.
Free-tier clusters still need a no-cost license key. Request a free key.
Prerequisites
- Conformant Kubernetes cluster, 1.26+.
kubectlconfigured for the target cluster.helm3.
GHCR Installation
License key required, even for free-tier usage. Request a free key for clusters under 200 vCPUs.
- Helm chart:
https://release.waveautoscale.io/helm-chart - Image registry:
ghcr.io/stclab-inc/* - Pull secret: GHCR pull secret provided by the Wave team.
values-ghcr.yaml
ghcr:
enabled: true
dockerconfigjson: "<GHCR_PULL_SECRET_DOCKERCONFIGJSON>"
license:
key: "<LICENSE_KEY>"
spec:
# Option A: create a new PVC and specify a StorageClass.
storageClassName: "<STORAGE_CLASS_NAME>"
# Option B: use a pre-existing PVC.
# existingPvcName: "<EXISTING_PVC_NAME>"Install
Replace <CHART_VERSION> with the Wave Autoscale Helm chart version you want.
helm repo add wave-autoscale-helm https://release.waveautoscale.io/helm-chart
helm repo update
helm install wave-autoscale-helm wave-autoscale-helm/wave-autoscale-helm \
-f values-ghcr.yaml \
--version <CHART_VERSION> \
--create-namespace \
-n wave-autoscaleAir-gapped / Private Registry
For clusters with internal-only network policies. You'll mirror Wave images from GHCR into your private registry, then point Wave at that registry.
Steps
- Mirror images from
ghcr.io/stclab-inc/*(wave-autoscale-core,wave-autoscale-web-console,wave-autoscale-intelligence,wave-autoscale-agent,wave-autoscale-cadvisor) to your private registry. - Disable GHCR in your values file by setting
ghcr.enabled: false. - Override
image.repositoryper component (replaceyour-registry.comwith your registry hostname):
ghcr:
enabled: false
license:
key: "<LICENSE_KEY>"
spec:
core:
image:
repository: your-registry.com/wave-autoscale/core
tag: <version>
webConsole:
image:
repository: your-registry.com/wave-autoscale/web-console
tag: <version>
intelligence:
image:
repository: your-registry.com/wave-autoscale/intelligence
tag: <version>
agent:
image:
repository: your-registry.com/wave-autoscale/agent
tag: <version>
cadvisor:
image:
repository: your-registry.com/wave-autoscale/cadvisor
tag: <version>
# Option A: create a new PVC and specify a StorageClass.
storageClassName: "<STORAGE_CLASS_NAME>"
# Option B: use a pre-existing PVC.
# existingPvcName: "<EXISTING_PVC_NAME>"- Provide registry credentials via Kubernetes
imagePullSecrets. Use the same credentials you normally use for private workloads on this cluster. - Deploy with Helm:
helm repo add wave-autoscale-helm https://release.waveautoscale.io/helm-chart
helm repo update
helm install wave-autoscale-helm wave-autoscale-helm/wave-autoscale-helm \
-f values-private-registry.yaml \
--version <CHART_VERSION> \
--create-namespace \
-n wave-autoscaleVerify the install
kubectl get pods -n wave-autoscaleOpen the web console:
kubectl port-forward -n wave-autoscale svc/wave-autoscale-svc 3025:3025Browse to http://localhost:3025.
Default login: username admin, password waveautoscale. Change these from the web console's user-management UI as soon as you're set up.
Update
helm repo update
helm upgrade wave-autoscale-helm wave-autoscale-helm/wave-autoscale-helm \
-f values-ghcr.yaml \
--version <CHART_VERSION> \
-n wave-autoscaleUninstall
helm uninstall wave-autoscale-helm -n wave-autoscalePVC retention: the StatefulSet retention policy keeps PVCs after uninstall. Delete the PVC manually only when stored data is no longer needed.
Next steps
- Important: Before You Begin: runtime behaviors to know.
- Helm Values & Environment Variables: full env vars and Helm values.
- Troubleshooting: common issues.