Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/shinyscorpion/revprx-k8s
Reverse Proxy for Kubernetes
https://github.com/shinyscorpion/revprx-k8s
Last synced: 4 days ago
JSON representation
Reverse Proxy for Kubernetes
- Host: GitHub
- URL: https://github.com/shinyscorpion/revprx-k8s
- Owner: shinyscorpion
- Created: 2015-07-27T10:26:42.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2015-07-27T12:59:08.000Z (over 9 years ago)
- Last Synced: 2024-05-09T21:51:47.355Z (6 months ago)
- Language: Ruby
- Size: 129 KB
- Stars: 1
- Watchers: 7
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Kubernetes Reverse Proxy
If you've started using kubernetes without a cloud provider then you'll notice
that it's more difficult than it should be to expose a service externally. This
project solves this problem.## Configuring the master
You'll probably want to run this proxy on the master of your Kubernetes cluster.
For this to work you'll also have to run `kube-proxy` on the master as well.
This will allow it to connect to the load balanced overlay network IPs.## Configuring DNS wildcard
You'll also want to have a domain or subdomain which you can use to refer to
your services. You'll need to define an A record for * and point it to your
Kubernetes master. For example: `A *.example.com. 1.1.1.1`.## Running the proxy
The proxy generates virtualhosts nginx. It polls the kubernetes API every
`INTERVAL` seconds to regenerate it's vhosts, and makes nginx reload it's
configuration. It uses the service name to generate a subdomain
(`.`); e.g. microbot-v1.example.com. It then maps this
subdomain to the load balancer's IP.```
docker run \
-e KUBERNETES_MASTER=http://172.17.8.101:8080 \
-e INTERVAL=10 \
-e DOMAIN=example.com \
-p 80:80 \
malet/revprx-k8s
```