【问题标题】:Access a specific pod from external从外部访问特定的 pod
【发布时间】:2018-06-06 21:09:55
【问题描述】:

我们有一个旧的服务发现系统,需要进程在启动期间注册其 ip:port。在 Kubernetes 集群上,我们公开了一个启用 NodePort 的服务。容器内的进程可以通过 Pod Ip:port + HostIp 注册到旧系统。对于同一个 kubernetes 集群中的客户端,它们应该能够通过特定的 Pod Ip:port 连接到正确的进程。对于外部客户端,它知道 HostIp+NodePort 和具体的 Pod 的 Ip:port,有没有一种有效的方法可以将客户端的请求路由到具体的 Pod?由于额外的代理层,在每个节点上运行代理来路由流量(nodeport -> pod)似乎效率低下。

【问题讨论】:

    标签: kubernetes


    【解决方案1】:

    我猜你的意思是你不想添加NodePort 类型的服务,因为你的情况似乎是一个额外的代理层。我可以看到它在您的情况下如何成为附加层。通常 Kubernetes 将进行编排,而服务将成为服务发现机制的一部分。听起来您可以使用hostPort。但是,如果您确实走这条路,您应该知道它是 not suggested practice,因为 Kubernetes 旨在用于编排。

    【讨论】:

    • 我使用 NodePort-service 因为我希望外部请求能够转到运行几个 pod 的节点。而 iptables (NodePort) 是内核级路由,我认为这很有效。 hostPort 可能不是预期的,因为它不允许节点上有多个 pod(w/相同的端口)。
    • 酷,有道理。谢谢
    猜你喜欢
    • 2017-03-14
    • 2020-11-10
    • 1970-01-01
    • 2021-07-16
    • 1970-01-01
    • 2017-10-27
    • 1970-01-01
    • 2021-03-06
    • 2019-12-13
    相关资源
    最近更新 更多