首页 > 解决方案 > 如何使入口连接到我网络中的 pod

问题描述

我的k8s主节点有公网IP,工作节点部署在私网。工作节点可以连接到主节点,但主节点无法连接到工作节点。

我测试过可以通过kubectl部署一个pod,运行在worker节点和master上的pod可以查看pod状态。但是当我部署一个入口并访问主节点上的入口时,流量无法进入工作节点。

我使用法兰绒网络。

我试过使用 ssh 隧道,但很难管理

不知道有没有什么建议,谢谢。

标签: networkingkuberneteskubernetes-ingress

解决方案


如果您部署在云环境中,最可能的原因是防火墙设置或路由配置不正确。但是,入口配置错误有时也可能看起来像基础设施问题。

Ingress 会将您的请求重定向到它注册的不同服务。端点健康也受到监控,请求只会发送到活动和健康的端点。我的故障排除流程如下:

  1. 在您的 url 上点击一个未注册的路径,并检查您是否获得了默认的后端响应。如果不是,那么您的入口控制器可能没有正确设置(无论是域名、访问规则还是只是配置)。如果是,那么您的入口控制器应该正确设置,这是入口定义或后端的问题。

  2. 尝试在您的网址上点击您的注册路径。如果您收到 504 网关超时,则您的端点正在接受请求,但未正确响应。您可以按照目标 pod 日志确定其行为是否正常。

如果您收到 503 Service Unavailable,则您的服务可能已关闭或被入口视为不健康。在这种情况下,您绝对应该验证您的 pod 是否正常运行。

  1. 检查您的 nginx-ingress-controller 日志以查看请求是如何被重定向的以及内部响应是什么。

推荐阅读