【问题标题】:Can't access NodePort service in OVH Managed Kubernetes cluster无法访问 OVH 托管 Kubernetes 集群中的 NodePort 服务
【发布时间】:2022-08-23 05:08:07
【问题描述】:

在我的OVH Managed Kubernetes 集群中,我试图公开一个 NodePort 服务,但看起来该端口无法通过<node-ip>:<node-port> 访问。

我遵循了本教程:Creating a service for an application running in two pods。我可以在localhost:<target-port>kubectl port-forward 上成功访问该服务,但它在<node-ip>:<node-port> 上不起作用(请求超时)(尽管它在集群内部起作用)。

该教程说我可能必须“创建一个允许您的节点端口上的 TCP 流量的防火墙规则”,但我不知道该怎么做。

安全组似乎允许任何流量:

    标签: kubernetes ovh


    【解决方案1】:

    好吧,我想我无能为力,但我会检查以下内容:

    1. 你使用的是公共节点ip地址吗?
    2. 您是否将您的服务正确配置为负载均衡器? https://kubernetes.io/docs/concepts/services-networking/service/#loadbalancer
    3. 您是否有负载均衡器并正确设置?
    4. 您是否安装了任何 Ingress 控制器? (ingress-nginx?)您可能需要为此 ingress-controller 添加一个守护程序集,以在集群中的每个节点上复制 ingress-controller pod

      否则,我建议使用 Ingress,(如果可行,您可以排除任何与防火墙相关的问题)。

      这个页面解释得很好: What's the difference between ClusterIP, NodePort and LoadBalancer service types in Kubernetes?

    【讨论】:

    • 我的目标是使用 NodePort 服务,而不是 LoadBalancer 服务。 (根本原因是我需要公开一个 UDP 服务,而我的云提供商提供的 LoadBalancer 不支持 UDP)。
    【解决方案2】:

    在 AWS 中,您有称为安全组的东西……您的 k8s 提供商(甚至您的本地机器)中可能有相同的东西。请将这些端口添加到安全组或本地防火墙。在 AWS 中,您可能还需要将这些安全组绑定到您的 EC2 实例(入口节点)。

    【讨论】:

    • 感谢您的反馈。不幸的是,我不知道如何使用OVH Managed Kubernetes 来实现这一点。
    • 我对 OVH 一无所知,但请看:docs.ovh.com/gb/en/public-cloud/… OVH 似乎也有安全组。
    • 感谢您的链接。似乎安全组已经允许任何传入/传出流量(请参阅我的编辑)。
    【解决方案3】:

    解决方案是在创建托管 Kubernetes 集群时不启用“连接私有网络”(“réseau privé attaché”)。

    如果您已经支付了节点或配置了 DNS 或其他任何东西,您可以选择您当前的 Kubernetes 集群,然后选择“Reset your cluster”(“réinitialiser votre cluster”),然后选择“Keep and reinstall nodes”(“conserver et réinstaller les noeuds” ") 并在 "Private network attach" ("Réseau privé attaché") 选项中,选择 "None (public IPs)" ("Aucun (IPs publiques)")

    我遇到了同样的用例和问题,经过一些研究和实验,从这个对话框的小评论中得到了提示:

    默认情况下,您的工作程序节点具有公共 IPv4。如果您选择专用网络,这些节点的公共 IP 将专门用于管理/链接到 Kubernetes 控制平面,并且您的节点将在您选择的专用网络的 vLAN 上分配一个 IP

    现在我使用hostNetwork 将我的 Traefik 入口作为 DaemonSet,即使在低端口上也可以直接访问每个节点(如您所见,默认安全组已打开)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-10-29
      • 2021-06-27
      • 2019-06-18
      • 2022-01-13
      • 1970-01-01
      相关资源
      最近更新 更多