Install kMetal¶
This page covers the basic install of kMetal on a prepared under cluster. Ensure you have completed Setup Under Cluster and have credentials from Clastix.
Start Your Evaluation
Don't have credentials yet? Clastix provides an evaluation process with:
- Temporary access token for
ghcr.io/clastix/oci - Technical support during evaluation period
Contact sales@clastix.io or learn more about our evaluation process.
Log in to the OCI registry¶
kMetal is delivered as a Helm umbrella chart published to a private OCI registry. Log in with your credentials before pulling:
Create the registry pull secret¶
The chart pulls container images from the same private registry. Create a pull secret in the namespace the chart will install into:
kubectl create namespace kmetal-flux
kubectl create secret docker-registry clastix-ghcr \
--docker-server=ghcr.io \
--docker-username=<evaluation-username> \
--docker-password=<evaluation-token> \
--namespace=kmetal-flux
Credential Security
Store credentials securely. Never commit them to version control; use a secret manager or environment variables.
Prepare a values overlay¶
kMetal needs a small amount of per-deployment configuration — at minimum the Kube-OVN tunnel interface and the MetalLB IP pool. Create a kmetal-values.yaml for your environment:
t.b.d. — A worked overlay example for your hardware shape (NIC name, address pool range, gateway node labels) is t.b.d. in this guide. See Helm Values Reference for the supported keys.
Install the chart¶
helm install kmetal oci://ghcr.io/clastix/oci/kmetal \
--namespace kmetal-flux \
--values kmetal-values.yaml \
--wait \
--timeout=15m
Verify the release:
Monitor installation¶
The chart deploys multiple component pods across several namespaces. Watch them come up:
# Expected component namespaces
kubectl get pods -n kmetal-cert-manager
kubectl get pods -n kube-flannel # flannel
kubectl get pods -n kube-system # kube-ovn (varies by chart version)
kubectl get pods -n kmetal-metallb
kubectl get pods -n kmetal-kamaji # kamaji controllers + addon-ovn
kubectl get pods -n system-kubevirt
kubectl get pods -n system-cdi
kubectl get pods -n kmetal-capi-providers # CAPI core + Bootstrap + CAPK + CACPK
kubectl get pods -n kmetal-local-path-storage
# Anything not Running or Completed
kubectl get pods -A | grep -v Running | grep -v Completed
Next Steps¶
kMetal is now installed on your under cluster. Continue to Create First Cluster.