多个入口的IP列表与白名单-源-范围配置相同

时间:2020-05-04 15:18:02

标签: nginx kubernetes kubernetes-ingress

我有多个入口要附加与白名单源相同的IP列表。 我无法在ConfigMap中将此列表用于入口控制器,因为它也可以服务于其他入口。怎么做呢?

2 个答案:

答案 0 :(得分:0)

已更新问题的更新答案:

是的,您可以使用return批注将其应用于单个“ Ingress”。例如:

nginx.ingress.kubernetes.io/whitelist-source-range

原始问题的原始答案:

是的,可以。本质上,“入口”将使用相同的入口控制器,只要它们具有入口控制器注释即可。例如,对于Nginx入口控制器,入口看起来像这样:

apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
  name: ingress-myservice
  annotations:
    kubernetes.io/ingress.class: "nginx"
    nginx.ingress.kubernetes.io/whitelist-source-range: "CIDR1,CIDR2,CIDR3"
spec:
  rules:
...

然后在ConfigMap上可以添加如下内容:

apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
  name: ingress-myservice
  annotations:
    kubernetes.io/ingress.class: "nginx"
spec:
  rules:
...

答案 1 :(得分:0)

    whitelist-source-range: >- 
      "{{- $.Values.ingress.CIDR1 }},
       {{- $.Values.ingress.CIDR1 }},
       {{- $.Values.ingress.CIDR3 }}"

使用 values.yaml

ingress:
  enabled: true
  annotations: {}
  hosts:
    - host: chart-example.local
      paths: []
  tls: []
  #  - secretName: chart-example-tls
  #    hosts:
  #      - chart-example.local

  CIDR1: A.B.C.D/32,A.B.C.D/32
  CIDR2: A.B.C.D/32,A.B.C.D/32
  CIDR3: A.B.C.D/32,A.B.C.D/32