I have a seven node microk8s cluster set up on an Ubuntu server in my cellar. multipass shows me I have three IP address per VM since I created these hosts using the bridged network option. I thought having a routable IP might make it easier to expose the VMs and their services to my local network but probably I just made my platform more complex :P
I have succeeded in deploying https://ubuntu.com/tutorials/install-a-local-kubernetes-with-microk8s "microbot" web app but have not been able to access it using a browser even at the local console. I can connect to the app using curl 10.152.183.40 if I'm ssh'd into a control plane VM.
ubuntu@m8s7:~$ microk8s kubectl get all --all-namespaces |grep microbot-service
default service/microbot-service NodePort 10.152.183.40 <none> 80:31031/TCP 34m
I'd like to make this (or any web app) run on a 192.168.10.0/24 addresses or at a node's hostname:port .
Name State IPv4 Image
mk8s0 Running 10.74.44.144 Ubuntu 21.10
192.168.10.14
10.1.123.64
mk8s1 Running 10.74.44.172 Ubuntu 21.10
192.168.10.13
10.1.238.128
This page https://www.ibm.com/docs/en/fcifi/3.0.1?topic=administering-changing-kubernetes-master-node-ip-address suggests I might be able to make the entire cluster available behind a single IP address but there is no instance of externalIPs: when I run kubectl -n kube-system edit svc .
Should I be implementing ingress or a load balancer or can I tell k8s to run my app natively on a 192.168.10.0/24 address?
Thanks for any advice.