Helm with klimax
klimax clusters are ordinary kind clusters, so Helm "just works" — with one bonus: a chart's LoadBalancer service gets a real, routable IP you can hit straight from your Mac.
Prerequisites
- A running klimax cluster — see Getting started.
helmon yourPATH(brew install helm).
klimax does not install or wrap Helm, and it has no
helm subcommands. You use the standard Helm CLI against the
cluster's kubeconfig context, exactly as you would anywhere else.
Install a chart
Any chart works. To show off the routing bonus, install one that
exposes a LoadBalancer service — here, ingress-nginx
(the same applies to the bitnami nginx chart):
$ helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx
$ helm repo update
$ helm install ingress ingress-nginx/ingress-nginx \
--set controller.service.type=LoadBalancer
Reach it by real IP
MetalLB assigns the LoadBalancer an IP in the cluster's pool
(172.30.N.x), which your Mac routes directly to the VM. Read
the assigned IP and curl it:
$ kubectl get svc ingress-ingress-nginx-controller \
-o jsonpath='{.status.loadBalancer.ingress[0].ip}'
$ curl http://<that-ip>/
No kubectl port-forward, no NodePort juggling — the
service IP printed by kubectl get svc is the address you
connect to. See how routing works.
Faster chart pulls
Chart images are pulled through klimax's registry mirrors
(docker.io, quay.io, gcr.io)
automatically, so repeated installs and multi-cluster rollouts hit the
local cache instead of re-pulling over the network. See
Registry mirrors.
Tip: metrics-server on kind
kind's kubelet serves its metrics endpoint with a self-signed cert, so
a stock metrics-server install fails its TLS handshake. Add the
--kubelet-insecure-tls flag:
$ helm install metrics-server metrics-server/metrics-server \
--set 'args[0]=--kubelet-insecure-tls'
The Klimax UI app can do this metrics-server install for you with one click — no flags to remember.
See also
- Getting started — bring up the VM and your first cluster.
- Registry mirrors — how the local image cache speeds up pulls.
- Networking & L3 routing — why LoadBalancer IPs are reachable from your Mac.