【问题标题】:How to make ingress connect to pod in my network如何使入口连接到我的网络中的 pod
【发布时间】:2019-03-21 02:40:59
【问题描述】:

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

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

我使用法兰绒网络。

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

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

【问题讨论】:

  • 您可能希望将此问题移至服务器故障,我已将其标记为 OOS。

标签: networking kubernetes kubernetes-ingress


【解决方案1】:

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

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

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

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

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

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

【讨论】:

    【解决方案2】:

    您的所有节点和主节点都应该相互通信,否则您将在集群功能上遇到问题。

    入口创建一个负载平衡器,指向您的节点机器。

    为什么你的主节点无法连接到你的节点?

    检查: https://kubernetes.io/docs/concepts/architecture/master-node-communication/

    【讨论】:

    • 谢谢。我在阿里云 ECS 上的主节点并且有公共 ip。工作节点是私有网络中的一些物理计算机(例如,工作节点是我家中的一些 PC)。而且我不能信任工作节点,所以不能使用 openvpn。
    猜你喜欢
    • 2020-03-16
    • 2022-01-11
    • 2021-01-02
    • 1970-01-01
    • 1970-01-01
    • 2020-01-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多