Dev machine as part of Minikube's network? Dev machine as part of Minikube's network? kubernetes kubernetes

Dev machine as part of Minikube's network?


There is an issue open upstream (kubernetes/minikube#38) in order to discuss that particular use case.

kube-proxy already adds the IPtables rules needed for IP forwarding inside the minikube VM (this is not specific to minikube), so all you have to do is add a static route to the container network via the IP of minikube's eth1 interface on your local machine:

ip route add 10.0.0.0/24 via 192.168.42.58 (Linux)route -n add 10.0.0.0/24 192.168.42.58     (macOS)

Where 10.0.0.0/24 is the container network CIDR and 192.168.42.58 is the IP of your minikube VM (obtained with the minikube ip command).

You can then reach Kubernetes services from your local environment using their cluster IP. Example:

 kubectl get svc -n kube-system kubernetes-dashboardNAME                   CLUSTER-IP   EXTERNAL-IP   PORT(S)        AGEkubernetes-dashboard   10.0.0.56    <nodes>       80:30000/TCP   35s

kubedash

This also allows you to resolve names in the cluster.local domain via the cluster DNS (kube-dns addon):

 nslookup kubernetes-dashboard.kube-system.svc.cluster.local 10.0.0.10Server:     10.0.0.10Address:    10.0.0.10#53Name:   kubernetes-dashboard.kube-system.svc.cluster.localAddress: 10.0.0.56

If you also happen to have a local dnsmasq running on you local machine you can easily take advantage of this and forward all DNS requests for the cluster.local domain to kube-dns:

server=/cluster.local/10.0.0.10