【问题标题】:Kubernetes Ingress Whitelist IP for host主机的 Kubernetes 入口白名单 IP
【发布时间】:2020-06-23 07:36:58
【问题描述】:

如何将不同主机的 IP 地址列入白名单,但路径相同?

example.com - 应该没有白名单。所有其他人都必须列入白名单。

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  annotations:
    kubernetes.io/ingress.class: nginx
spec:
  rules:
  - host: login.example.com
    http:
      paths:
      - backend:
          serviceName: login
          servicePort: 4444
        path: /
  - host: admin.example.com
    http:
      paths:
      - backend:
          serviceName: admin
          servicePort: 3333
        path: /
  - host: api.example.com
    http:
      paths:
      - backend:
          serviceName: api
          servicePort: 2222
        path: /
  - host: example.com
    http:
      paths:
      - backend:
          serviceName: wp
          servicePort: 1111
        path: /

【问题讨论】:

标签: nginx kubernetes kubernetes-ingress nginx-config nginx-ingress


【解决方案1】:

注释: nginx.ingress.kubernetes.io/whitelist-source-range: "1.1.1.1/24"

【讨论】:

  • 您好,这将涵盖每个主机的整个入口。但我只需要 login.example.com、admin.example.com 和 api.example.com 的白名单
【解决方案2】:

基本上@ANISH 为您提供了关于 nginx.ingress.kubernetes.io/whitelist-source-range 的好主意,您可以从那里开始。

您可以通过 nginx.ingress.kubernetes.io/whitelist-source-range 注解。这 value 是一个逗号分隔的 CIDR 列表,例如10.0.0.0/24,172.10.0.1.

要为所有 Ingress 规则全局配置此设置, whitelist-source-range 值可以在 NGINX ConfigMap 中设置。

但是,如果您不想将其应用于所有入口规则 - 只需创建 2 个单独的入口。 1 个用于列入白名单的主机,第二个用于您的 example.com 主机

【讨论】:

  • 你好!感谢您的回答。实际上我知道这种能力(进行 2 次入口),但我正在尝试寻找另一种解决方案来避免 2 次入口。
  • 有趣的事实是,我用 nginx.ingress.kubernetes.io/whitelist-source-range 注解创建了第二个入口,它与第一个具有相同的外部 IP!对我来说出乎意料的行为,我认为第二次入口将是不同的 IP
猜你喜欢
  • 2020-03-14
  • 2020-05-19
  • 2023-03-23
  • 1970-01-01
  • 2020-03-24
  • 2021-05-31
  • 1970-01-01
  • 2023-03-20
  • 2023-04-06
相关资源
最近更新 更多