是否可以让我的开发机器成为Minikube网络的一部分?
理想情况下,它应该兼顾两种方式:
This听起来第一部分在使用网络路由的GCE上是可行的,所以我想知道它是否可以在本地使用Minikube。
答案 0 :(得分:11)
上游(kubernetes/minikube#38)打开了一个问题,以便讨论该特定用例。
kube-proxy
已经在minikube
VM中添加了IP转发所需的IPtables规则(这不是minikube特有的),因此您所要做的就是通过静态路由添加到容器网络本地机器上minikube的eth1接口的IP:
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)
其中10.0.0.0/24
是容器网络CIDR,192.168.42.58
是您的minikube VM的IP(使用minikube ip
命令获得)。
然后,您可以使用其群集IP从本地环境访问Kubernetes服务。例如:
❯ kubectl get svc -n kube-system kubernetes-dashboard
NAME CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubernetes-dashboard 10.0.0.56 <nodes> 80:30000/TCP 35s
这也允许您通过群集DNS(cluster.local
插件)解析kube-dns
域中的名称:
❯ nslookup kubernetes-dashboard.kube-system.svc.cluster.local 10.0.0.10
Server: 10.0.0.10
Address: 10.0.0.10#53
Name: kubernetes-dashboard.kube-system.svc.cluster.local
Address: 10.0.0.56
如果您在本地计算机上碰巧运行了本地dnsmasq
,则可以轻松利用此功能并将cluster.local
域的所有DNS请求转发至kube-dns
:
server=/cluster.local/10.0.0.10