https://github.com/torosent/kube-whitelist-ingress-traffic
Whitelist ingress traffic to Kubernetes
https://github.com/torosent/kube-whitelist-ingress-traffic
cloudflare ingress-controller jenkins kubernetes traefik traefik-ingress whitelist
Last synced: 7 months ago
JSON representation
Whitelist ingress traffic to Kubernetes
- Host: GitHub
- URL: https://github.com/torosent/kube-whitelist-ingress-traffic
- Owner: torosent
- License: mit
- Created: 2018-02-22T09:09:42.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2018-03-23T06:21:10.000Z (over 7 years ago)
- Last Synced: 2025-03-28T12:21:13.194Z (8 months ago)
- Topics: cloudflare, ingress-controller, jenkins, kubernetes, traefik, traefik-ingress, whitelist
- Homepage:
- Size: 3.91 KB
- Stars: 3
- Watchers: 1
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Whitelist ingress traffic to Kubernetes
## Example of a Jenkins deployment with ClusterIP using Traefik ingress controller to whitelist specific IP's
These instructions enable to create a Jenkins deployment with ClusterIP (Not exposed via LoadBalancer) and expose it to selected public IP's via Traefik ingress controller.
### Install Jenkins with ClusterIP service
`$ helm install jenkins-release --set Master.ServiceType=ClusterIP stable/jenkins`
### Install Traefik
`$ helm install stable/traefik --name traefik-release --namespace kube-system`
### Patch Traefik service to enable X-Forwarded public IP's
`$ kubectl patch service traefik-release-traefik -n kube-system --patch $'spec:\n externalTrafficPolicy: Local\n'`
### Edit ingress.yaml
Set the public ip's or range to whitelist.
Single IP: `ingress.kubernetes.io/whitelist-source-range: "64.18.13.199/32"`
Multiple IP ranges (Cloudflare for example):
`ingress.kubernetes.io/whitelist-source-range: "103.21.244.0/22,103.22.200.0/22,103.31.4.0/22,104.16.0.0/12,108.162.192.0/18,131.0.72.0/22,141.101.64.0/18,162.158.0.0/15,172.64.0.0/13,173.245.48.0/20,188.114.96.0/20,190.93.240.0/20,197.234.240.0/22,198.41.128.0/17"`
### Create Ingress controller with whitelist IP's
`$ kubectl create -f ingress.yaml`