我遇到了与这里提到的相同的问题:无法通过外部网络访问 kubernetes 服务。我已经尝试了使用Ingress提到的解决方案,但没有任何成功。
我的 Pod 以及我的服务已启动并正在运行。
我可以从 Pod 中成功卷曲任何端点,但无法从主机卷曲。
当我使用入口时,address
字段显示为空白,并且在尝试卷曲主机名时,它显示Could not resolve host
.
我在 MacBook Pro 上的 Docker Edge 上使用 Kubernetes。
如何从主机卷曲服务终结点?
首先,请注意 MacOS 上的 Kubernetes 运行单独的虚拟机 运行 Docker 容器和 Kubernetes。重要的是 了解您可能会在从 MacOS 连接到某些 Kubernetes 时遇到问题 资源。TCP 连接的实现方式与在云环境中的方式不同。 这取决于 MacOS 和 Kubernetes 堆栈的虚拟机之间的互联配置。 正在运行。 (NAT、网桥、仅主机连接(
我想你选择了一个节点端口服务,在这种配置中, 你需要知道两者:节点的 IP 地址和 Kubernetes 开始侦听的端口 传入连接。在这种情况下,入口分析主机 http 标头以确定 流量的路由。它类似于在 type:NodePort 上创建的服务。您需要致电 适当的入口服务。服务正在侦听已知端口并不明显。 其实有点棘手,从MacOS连接到类型:NodePort服务可能并不容易。 不知道 Kubernetes 在哪里创建了一个侦听套接字,并确保 MacOS 实际上是 支持从 MacOS 到 VM 到此 TCP 端口的路由。