Helm with marina
marina 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 marina cluster — see Getting started.
helmon yourPATH(brew install helm).
marina 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>/
Or skip the lookup and use its name — every LoadBalancer Service gets one:
$ curl http://ingress-ingress-nginx-controller.default.dev.demo.internal/
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 marina'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 Marina 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.