Same IP list for multiple ingresses as a whitelist-source-range config

5/4/2020

I have multiple ingresses that I want to attach the same IP list as a whitelist-source. I can't use this list in the ConfigMap for the ingress-controller as it serves other ingresses as well. What would be a way to do this?

-- Lord90
kubernetes
kubernetes-ingress
nginx

1 Answer

5/4/2020

Updated answer for the updated question:

Yes, you can apply it to a single 'Ingress' by using the nginx.ingress.kubernetes.io/whitelist-source-range annotation. For example:

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:
...

Original answer for the original question:

Yes, you can. Essentially, the 'Ingresses' will use the same ingress controller as long as they have the ingress controller annotation. For example, for an Nginx ingress controller, an Ingress would look something like this:

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

Then on the ConfigMap you can add something like this:

data:
  ...
  whitelist-source-range: "CIDR1,CIDR2,CIDR3"
  ...
-- Rico
Source: StackOverflow