443 Commits

Author SHA1 Message Date
Murali Reddy
0538a2a93e
perform clean-up of external ip from custom route table for external ip only if the table is not empty (#437) 2018-05-13 12:38:25 +05:30
Murali Reddy
6d86656f5e
fix wrong use of advertiseVIPs where withdrawVIPs is required (#436) v0.2.0-beta.5 2018-05-13 09:14:09 +05:30
Murali Reddy
b0733cb581
update clusteripprefixset so that BGP export policies allow advertising the service VIP (#435) 2018-05-13 08:32:36 +05:30
Murali Reddy
725bff6b87
use node ip as source when accessing service VIP's from the node (#433) 2018-05-12 09:16:09 +05:30
Murali Reddy
359ab1d9a1
explicilty specify source IP to use when send traffic over tunnels (#428) 2018-05-11 03:32:24 +05:30
Dan LaMotte
2f39f9833b cleanup routing table 79 (external IPs) (#431) 2018-05-11 03:19:45 +05:30
Nicolas Perraut
0a9b164c0f Update kubeadm iptables cleanup command (#424)
- Repository URL changed
- Update version
- Update flag (see #278)
2018-05-06 01:29:56 +05:30
Murali Reddy
09b2f13e13
fix the wrong lister used (#422) 2018-05-04 18:04:57 +05:30
Murali Reddy
05b702a94b
[WIP] docs cleanup (#418)
* docs cleanup

* fix unit test

* index.md

* Update index.md

* Update index.md

* Update index.md

* Update index.md

* Update index.md

* docs

* intro

* Update index.md

* docs

* Update index.md

* Update index.md

* Update README.md
2018-05-03 12:32:08 +00:00
Dan LaMotte
dfca917c16 proxy: cleanup stale IPs on kube-dummy-if (#417)
Relates to #411
2018-05-02 01:09:49 +00:00
Andrew Sy Kim
e13b77141b
Add DigitalOcean Sponsorship (#414) 2018-04-28 09:34:40 -04:00
Murali Reddy
27d51cdd79
add docs/index.md for mkdocs (#416) 2018-04-28 09:34:09 +00:00
andrewsykim
89aef2c75d go-releaser: update binary path v0.2.0-beta.4 2018-04-23 15:12:18 -04:00
andrewsykim
c044162484 only push new docker image on release 2018-04-23 14:53:17 -04:00
Andrew Sy Kim
682c494494
remove release task in travis CI (#409) 2018-04-23 14:40:33 -04:00
Murali Reddy
41332a18b9
Ability to enable/disable node advertising its pod CIDR to external BGP peers (#408)
* Node should advertise its pod CIDR to external BGP peers only if
--advertise-node-pod-cidr is set to true (defaults to true).
This is to enable a case where pod's remain non-routable from out of the
cluster but service VIP's can be routable from out side the cluster.

* fix unit test

* address review comments
2018-04-23 18:32:59 +00:00
Murali Reddy
23d43622ec
split routing controllers to smaller modules by function (#406)
* split routing controllers to smaller modules by function

* review comments
2018-04-23 05:42:28 +00:00
Murali Reddy
05bec8b385
break controller package to independent packages (#405) 2018-04-22 13:25:58 +00:00
Murali Reddy
1a0bfa2dfb
move health, metrics to sepearate packages (#404) 2018-04-22 11:36:47 +00:00
Andrew Sy Kim
6eece2d737 update gobgp to d31262d for BGP graceful restart fixes (#403)
* update gobgp to d31262de7d91c81ff979b39950d2d859666dfa3f for graceful restart fixes

* fix addExportPolicies test due to new gobgp version
2018-04-22 08:14:26 +00:00
Murali Reddy
a1ecedf802
prevent processing updates leading to sync when controller doing full sync at boot time (#400) v0.2.0-beta.3 2018-04-18 13:42:37 +05:30
Murali Reddy
041c05570a
minimize sync()'s done by the controllers (#399)
* minimize sync() done by the controllers

* deprecate --config-sync-period

* review comments
2018-04-18 10:48:57 +05:30
Murali Reddy
71d16bf4d6
code restructuring as per typical golang projects (#397)
* code restructuring as per typical golang projects

* fix link in docs
2018-04-17 00:18:20 +05:30
Murali Reddy
8c746b2cbc
bind GoBGP just to node IP addresses (#393)
Fixes #385
2018-04-16 23:11:12 +05:30
Andrew Sy Kim
af9875d477 Use dep for managing vendor/ (#395)
* vendor changes from dep init

* add Gopkg.lock and Gopkg.toml

* delete glide.lock and glide.yaml

* build gobgp from vendor
2018-04-16 23:10:47 +05:30
Andrew Sy Kim
945a13cd2b skip node OnUpdate events (#391) v0.2.0-beta.2 2018-04-13 21:16:25 +05:30
Andrew Sy Kim
6ba2e947cc ignore update events for endpoints used for leader election (#390) 2018-04-13 20:53:00 +05:30
Joakim Karlsson
dd5d2faf36 Osxcompat 1 (#377)
* Added option BUILD_IN_DOCKER to build binarys in a docker container

* removed unnecessary deps

* locked docker image version for buildin
2018-04-13 11:41:34 +05:30
Andrew Sy Kim
28f10ff2a7 add local endpoints check if annotation kube-router.io/service.local is set (#388) 2018-04-12 23:40:04 +05:30
Andrew Sy Kim
1fcf5db210 add CHANGELOG (#387) v0.2.0-beta.1 2018-04-12 15:39:35 +05:30
Andrew Sy Kim
ab08c311ee
add service/endpoint event handler for routes controller (#384) 2018-04-11 14:19:00 -04:00
xanonid
e94bf3df1a Fix networkpolicies if there are unscheduled pod, log errors (#378) (#379) 2018-04-10 21:59:54 +05:30
Andrew Sy Kim
3763b200a8
refactor to use shared informers (#373)
* delete package app/watchers since we're now using shared informers

* used shared informers for events and listing resources

* install moq in travis test script
2018-04-10 09:35:03 -04:00
JuanJo Ciarlante
ed0dc39098 [jjo] added network_services_controller ginkgo testing (#348)
* network services controller testing via moq and ginkgo

* add network_services_test case for LoadBalancer w/o IPs

* no-change-commit: glide.yaml: pin ginkgo and gomega versions, update only these in vendor/

* golint fixes

* fixes from @andrewsykim review

* group std imports
2018-04-09 19:36:06 +05:30
Patrick Hemmer
4fd5cb812a update command line options documentation (#372)
* update command line options documentation

* add test for command line help doc
2018-04-08 00:17:15 +05:30
Vladimir Pouzanov
ed34187113 Fixed the /var/run/docker.sock permissions in the DSR example (#368)
* Fixed the /var/run/docker.sock permissions in the DSR example

* Set both mounts to read-only
2018-04-05 09:01:10 +05:30
Vladimir Pouzanov
398ba8bdf5 Fixed a typo (#367) 2018-04-04 16:28:18 +05:30
Andrew Sy Kim
2a4ffd6788 fix bug where default ASN is used for iBGP peering when cluster ASN (#362)
annotation is set
2018-04-04 16:21:27 +05:30
Murali Reddy
5436a73181
glide update, to get pull latest dependencies (#365) 2018-04-04 11:13:30 +05:30
JuanJo Ciarlante
559304fee8 fix --advertise-loadbalancer-ips for LoadBalancer w/o IPs (#355)
* fix --advertise-loadbalancer-ips for LoadBalancer w/o IPs

* fix network_services_controller.go also for no lb IPs
2018-03-28 12:05:38 +05:30
Andrew Sy Kim
696d701422
clear state of global service/endpoint watcher in Test_addExportPolicies (#353) 2018-03-26 18:57:14 -04:00
JuanJo Ciarlante
bf5c11ff02 [jjo] support advertising status.loadBalancer.ingress IPs via flag (#354)
* [jjo] support advertising status.loadBalancer.ingress IPs via flag

* add `--advertise-loadbalancer-ip` flag, which will make Service's
  Ingress IP(s)set by the LoadBalancer to:
- be locally added to nodes' `kube-dummy-if` network interface
- be advertised to BGP peers

* support "kube-router.io/service.skiplbips=true" per Service
  annotation to selectively skip above

* refactor several functions with dupped code to streamline logic as:
  - `getIpsToAdvertise()` which calls ->
    - `getClusterIPs()`
    - `getExternalIPs()`
    - `getLoadBalancerIPs()`
    and contains nodeHasEndpoints logic, returns:
      (ipsToAdvertise, ipsToUnAdvertise)
  - advertiseIPs() which is essentially previous advertiseClusterIPs()
    (which was previously used to advertise _any_ IP actually, ie misnamed),
    with logic to un/advertise based on both passed arguments:
      (ipsToAdvertise, ipsToUnAdvertise)

* fix some leftovers from uselbips -> skiplbips annotation change
2018-03-27 01:47:04 +05:30
Murali Reddy
35482c51fe
add 1s deley between ec2 API calls, and check if node has ec2 IAM (#351) 2018-03-25 02:37:11 +05:30
Murali Reddy
f708b14e1b
fix UT test case (#352) 2018-03-25 02:30:44 +05:30
Andrew Sy Kim
6a8e707cc3 allow pod CIDR to be set using node annotations (#345) 2018-03-23 06:31:30 +05:30
Andrew Sy Kim
25923bead8 Test_addExportPolicies (#333)
* Test_addExportPolicies

* default export policy should always be REJECT
2018-03-23 06:28:04 +05:30
Tom van Leeuwen
035a9a81ea withdraw ClusterIP bgp route for externalTrafficPolicy=Local when there are no local endpoints (#347)
* unadvertising service ips for services without endpoints
2018-03-21 19:30:41 -04:00
Murali Reddy
3956ad706c
Update README.md 2018-03-22 00:29:13 +05:30
Andrew Sy Kim
acb3dd45b7 use constants for all annotations (#346) 2018-03-21 18:48:37 +05:30
JuanJo Ciarlante
faead6dbeb Dockefile: use ADD instead of COPY and rearrange (#340)
Couple changes to improve local development, building, etc.

* use ADD instead of COPY to force cache invalidation
* rearrange to cache more expensive network downloads (apk, etc),
  ADDing locally built binaries at last
2018-03-19 21:50:32 +05:30