22 Commits

Author SHA1 Message Date
Murali Reddy
449f1bfcc6 fix Source/destination check disable logic 2017-07-21 15:20:42 +05:30
Murali Reddy
ef66b01002 WIP prometheus metrics: add pps in and out per service backend 2017-07-20 01:01:38 +05:30
Murali Reddy
83ca0c42d7 BGP export polices to advertise routes so that extra hop is avoided
Fixes #71
2017-07-19 21:13:03 +05:30
Murali Reddy
3f062f2828 fixing regression due to #71 2017-07-18 05:57:29 +05:30
Murali Reddy
e3ea82a1d1 add a BGP export policy on each node so that, learned routes
from iBGP peers are never advertised to global peer

Fixes #71
2017-07-18 04:04:30 +05:30
Murali Reddy
fb09646212 on BGP peer down, advertised route from peer is not cleaned-up in local routing table
Fixes #69
2017-07-17 09:20:11 +05:30
Murali Reddy
beb39cc54b When running on AWS disable source-destination checks automatically
Fixes #35
2017-07-15 01:50:19 +05:30
Bryan Zubrod
a3bddf6ecd services-controller: Add LoadBalancer Service support (#53)
* Allow LoadBalancer Service type
* Update docs
2017-07-11 18:12:11 -05:00
Bryan Zubrod
5af635a9bc CI: Automated build/release workflow (#46)
TLDR; Run "make help" for options.

* gofmt
* .gitignore kube-router binary
* Docs: build/release workflow
* Implement build/release workflow
2017-07-09 11:21:26 -05:00
bzub
cb661f871c controller: - Replace panics with errors
- Add context to errors for debugging
            - Refactor init() code so ipset isn't required to run
              "kube-router --help" for example
2017-07-05 21:57:29 -05:00
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