Skip to content
This repository was archived by the owner on Sep 11, 2023. It is now read-only.

zymlabs/kubernetes-endpoint-proxy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

39 Commits
 
 
 
 
 
 

Repository files navigation

Kubernetes Endpoint Proxy

An HAProxy for load balancing Kubernetes endpoints. Particularly useful for running Kubernetes on Mesos/Mesosphere DCOS. This is because in a Kubernetes cluster the endpoint ports and IP addresses may change for a service.

This proxy will monitor the endpoint for changes in etcd and update HAProxy with the new endpoints.

Getting Started

Given the following service in Kubernetes, we will run the proxy container with the options below.

Environment Variables

  • ETCD_SCHEME - etcd connection scheme (http)
  • ETCD_HOST - etcd host (leader.mesos)
  • ETCD_PORT - etcd port (4001)
  • KUBERNETES_ENDPOINT - Kubernetes endpoint id or service id
  • HAPROXY_HEALTH_CHECK_PATH - Optional path for checking if an endpoint upstream is available.

Kubernetes Service pandora-nginx

{
    "id": "pandora-nginx",
    "kind": "Service",
    "apiVersion": "v1beta1",
    "port": 80,
    "containerPort": 80,
    "selector": {
        "name": "pandora-nginx"
    },
    "labels": { "name": "pandora-nginx" }
}

Docker Example

docker run -e "ETCD_HOST=leader.mesos" \
           -e "ETCD_PORT=4001" \
           -e "KUBERNETES_ENDPOINT=pandora-nginx" \
           -e "HAPROXY_HEALTH_CHECK_PATH=/robots.txt" \
           -p 80:80 \
           zymlabs/kubernetes-endpoint-proxy

Requests should then be routed through the proxy to the endpoint.

About

An HAProxy for load balancing Kubernetes endpoints. Particularly useful for running Kubernetes on Mesos/Mesosphere DCOS

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages