我在学迷你kube上的kubernetes。我研究了kubernetes的官方文档,并在沙盒环境中跟踪了他们的interactive tutorial。在沙盒中一切正常,但我在我的系统上尝试了同样的事情,它失败了。
我的设置:
- 我在苹果M1上使用的是macOS Big Sur版本11.6.2(20G314)。
- 我已经使用了docker而不是虚拟机环境为minikube。
重现步骤:
首先,我创建了一个部署,然后创建了一个NodePort
类型的服务,以将其公开给外部流量。
Pod运行正常,服务说明中未显示任何问题。
为了测试应用程序是否暴露在集群之外,我使用curl
向节点发送了一个请求:
curl $(minikube ip):$NODE_PORT
字符串
但服务器没有回应:
curl:(7)无法连接到192.168.XX.X端口32048:作业逾时。
我已经复制了教程中所做的一切。相同的部署名称、相同的映像、相同的服务名称,几乎所有内容都相同。
我尝试了LoadBalancer
类型,但发现minikube不支持它。为了访问LoadBalancer
部署,我使用了命令minikube tunnel
,但这没有帮助。
可能的原因是什么?是我的系统吗?
2条答案
按热度按时间cuxqih211#
我的M1 Mac也遇到了这个问题。我可以通过使用以下命令访问服务:
字符串
您可以查看this article和this answer以了解更多信息和方法。
uplii1fm2#
这真的取决于你使用的是什么minikube driver“docker”、“qemu”等。
如果你使用Docker驱动程序(这是minikube macOS的默认驱动程序),那么你应该使用
minikube tunnel
和minikube service xxxx
来访问NodePort。使用qemu 2 +socket_vmnet,您可以直接连接到
minikube ip
和端口(不需要minikube tunnel
/minikube service xxx
:字符串