12 Commits

Author SHA1 Message Date
Murali Reddy
a757ea3203 Allow multiple peer routers specified through global BGP peer router flag '--peer-router'.
Node annotation to specifiy BGP peer routers also supports one or more BGP peers.

Fixes #37
2017-07-03 22:53:04 +05:30
Murali Reddy
2703522040 Support more than a single AS per cluster and configurable node specific
external BGP routers

Fixes #22
2017-06-13 10:22:22 +05:30
Murali Reddy
29396f9662 add option '--hostname-override' to deal with cases where kubelet is launched
with --hostname-override flag

Fixes #23
2017-06-10 07:10:38 +05:30
Murali Reddy
d4f32978fb use NODE_NAME env variable to get the node object when running as daemon set
If NODE_NAME env is not set, fall back to hostname.

Partial fix towards #23 we still have issue where kube-router is run as agent
and kubelet is started with --hostname-overide flag
2017-06-07 02:28:21 +05:30
Murali Reddy
1478527cc8 setup masquerade rule for traffic destined for outside of cluster and pod network
change added iptable rule in NAT table POSTROUTING chain to masqurade outbound traffic
from the pods.

Fixes #8
2017-06-01 07:20:04 +05:30
Murali Reddy
c9bc18e92d Skip head less services, when advertising cluster IP to external routers
Fixes #20
2017-06-01 00:52:47 +05:30
Murali Reddy
d042dbb21e Add new Node api watcher which watches for add/remove nodes events.
On add/remove node events, perform refresh of peers to the peers as per the
current set of active nodes. If a node is removed, delete the BGP nieghbor relation.

Fixes #14
2017-05-30 20:35:23 +05:30
Murali Reddy
4531a915bb Handle both cases where node can be registered with master either
by host name or FQDN. kubelet can be started with --hostname-override with configurable value.
In AWS envirinment typcally its set FQDN obtained from the metda data. This fix ensures
we can deploy kube-router in case nodes are registered with FQDN

Fixes #17
2017-05-30 03:11:51 +05:30
Murali Reddy
0f86e78c59 Adds support for advertising cluster IP correponding to a service to the BGP peers
Once external BGP is peered with cluster nodes, pods can be routable externally

fixes #4 and #7
2017-05-21 06:44:36 +05:30
Murali Reddy
231e5cee71 enable kube-router to be run as daemonset 2017-04-27 03:08:37 +05:30
Murali Reddy
a4e773bd91 edit README and handle external (outside from cluster) access to nodeport services
by masqurading the traffic so the return traffic from the pod hits the node before
going to the client
2017-04-18 03:37:46 +05:30
Murali Reddy
04a5cc033a base line version tested with kube 1.5.6, 1.6 2017-04-17 10:33:09 +05:30