【问题标题】:How to expose tcp service in Kubernetes only for certain ip addresses?如何仅针对某些 IP 地址在 Kubernetes 中公开 tcp 服务?
【发布时间】:2021-01-21 14:53:55
【问题描述】:

Nignx ingress provides 一种暴露 tcp 或 udp 服务的方法:你所需要的就是 public NLB

但是这种方式 tcp 服务将被公开:NLB 不支持安全组或 acl,而且 nginx-ingress 在代理 tcp 或 udp 时没有任何过滤流量的方法。

我想到的唯一解决方案是内部负载均衡器和使用 haproxy 或 iptables 分离的非 k8s 实例,我实际上会根据源 ip 进行限制 - 然后将请求转发/代理到内部 NLB。

也许还有其他方法可以解决这个问题?

【问题讨论】:

    标签: amazon-web-services kubernetes kubernetes-ingress nginx-ingress


    【解决方案1】:

    【讨论】:

      【解决方案2】:

      你可以使用whitelist-source-range annotation。我们已经成功地将它用于几个用例,并且做得很好。

      编辑:我说得太早了。重新阅读您的问题并了解您的确切用例将我带到了这个issue,它明确指出这些服务不能被列入白名单,并建议在防火墙级别解决这个问题。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-02-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-07-25
        • 2018-07-29
        • 1970-01-01
        • 2018-08-19
        相关资源
        最近更新 更多