如何使Ingress连接到我的网络中的Pod

时间:2019-03-21 02:41:00

标签: networking kubernetes kubernetes-ingress

我的k8s主节点具有公共网络IP,而工作节点则部署在专用网络中。辅助节点可以连接到主节点,但是主节点不能连接到主节点。

我已经测试过可以通过kubectl部署Pod,该Pod运行在工作节点上,而master可以监视pod的状态。但是当我部署一个入口并访问主节点上的入口时,流量无法到达工作节点。

我使用法兰绒网络。

我已经尝试过使用ssh隧道,但是很难管理

不知道是否有建议,谢谢。

2 个答案:

答案 0 :(得分:2)

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

Ingress会将您的请求重定向到其注册到的其他服务。还监视端点的运行状况,并且仅将请求发送到活动且运行正常的端点。我的故障排除流程如下:

  1. 在URL上找到未注册的路径,并检查是否获得默认的后端响应。如果否,那么您的入口控制器可能未正确设置(无论是域名,访问规则还是仅配置)。如果是,则应该正确设置您的入口控制器,这是入口定义或后端存在的问题。

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

如果您获得“ 503服务不可用”,则您的服务可能已关闭或被入口认为不健康。在这种情况下,您绝对应该确认Pod运行正常。

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

答案 1 :(得分:0)

您的所有节点和主节点都应相互通信,否则,群集功能将出现问题。

Ingress创建一个指向您的节点计算机的负载平衡器。

为什么您的主服务器无法连接到您的节点?

检查以下内容: https://kubernetes.io/docs/concepts/architecture/master-node-communication/