443 Commits

Author SHA1 Message Date
Bryan Zubrod
7c489a6e26 Update DaemonSet manifests (#188)
* Update DaemonSet, etc manifests

- Remove beta annotation versions of init containers
- Add YAML InitContainers spec to all manifests
- Add CNI config ConfigMap to all manifests
- Make indentation, volume names, etc consistent
- Set all kubeconfig volumes to readonly

* Use IfNotPresent image pull policy for vagrant testing

- Avoids an error with busybox init container image fetching
2017-10-08 18:40:21 -05:00
Bryan Zubrod
aa48cf2d08 gofmt (#187) 2017-10-08 16:19:28 -05:00
Murali Reddy
492cd1b4e3 Merge pull request #184 from cloudnativelabs/178-client-go-5
bump up client-go to release-5.0 and vendor kubernetes/api
2017-10-07 23:11:45 +05:30
Murali Reddy
0010425b8f bump up client-go to release-5.0 and vendor kubernetes/api
Fixes #178
2017-10-07 22:52:06 +05:30
Bryan Zubrod
342ea5ac9f Prevent masquerading pod -> NodeIP traffic (#174)
* Move getNodeIP logic to utils package

Remove redundant ipset lookups

utils.NewIPSet() does this for us.

* Don't masquerade pod -> nodeAddrsIPSet traffic

Previously with Pod egress enabled, this would get masqueraded.
This change also adds cleanup for said ipset.

* Enhanced cleanup of Pod egress, overlay networking

- Delete old/bad pod egress iptables rule(s) from old versions
- When pod egress or overlay are disabled, cleanup as needed

* Update IPSet.Sets to map type

* ipset enhancements

- Avoid providing method that would delete all ipset sets on a system
- New method DestroyAllWithin() destroys sets tracked by an IPSet
- Create() now handles cases where Sets/System state are not in sync
- Refresh() now handles leftover -temp set gracefully
- Swap() now uses ipset swap
- Delete() improved sync of Sets and system state
- Get() now validates if map element exists before trying
- etc

* Update routes controller to reflect ipset changes
v0.0.17
2017-10-07 04:14:13 -05:00
ryarnyah
3debbfa4e2 Cleanup ipset create function + restore (#177)
* Cleanup ipset create function + restore. Fix #176

Switch from array to map to simplify set use

* Add sets initialization on create
2017-10-06 15:58:48 -05:00
bzub
c1257786f1 Fix make vagrant-image-update with rsynced folder 2017-10-06 15:47:19 -05:00
Bryan Zubrod
5f58cd2786 Fix conditional so only matched pods are firewalled (#183) 2017-10-06 15:30:53 -05:00
bzub
a5a446a6ca Use forward domain notation for annotations
"kube-router.io/..."
This is in line with convention set by k8s upstream.
2017-10-05 22:18:18 -05:00
bzub
c714a80fcc CI: Make travis build PR# branches 2017-10-05 18:18:19 -05:00
Bryan Zubrod
c8902cce69 Add docs to cover upgrading kube-router (#179) 2017-10-05 15:43:54 -05:00
bzub
2ac6861099 Documentation: Fix BGP peer example 2017-09-27 15:44:50 -05:00
Murali Reddy
fc86d2e79a Merge pull request #169 from ryarnyah/fix/clean-ipset
Delete ipset dependency + delete unused ipsets
2017-09-27 08:59:56 +05:30
Ryar Nyah
3431a1831f Delete ipset dependency + delete unused ipsets 2017-09-25 21:17:25 +02:00
bzub
d6a15ec61e Fix link to developer's guide 2017-09-25 00:32:10 -05:00
Bryan Zubrod
e19f2a69c2 BGP peer password auth, consistent configurations (#164)
* Add --peer-router-password option
Also:
- Consolodated NRC peer fields into a []config.NeighborConfig
  to store address, asn, and password for each peer.
- BREAKING: --peer-router and --peer-asn flags now take slices
  rather than strings.

* Add password auth node annotation for external peer

* Update documentation

New CLI flags and annotations
Renamed ones as well

* Consistent CLI flags, annotations, and peer config

BGP configs now all accept multiple values and are treated consistently.
Other refactoring was done as well.

* Stop bgpserver on peering errors to avoid listener leak

* Clarify BGP doc sections

Fix some typos
2017-09-24 23:21:12 -05:00
Bryan Zubrod
d6ea74067e Dynamic gobgpd listener config, fix leaked listener (#156)
* bgpserver: listen only on enabled address protocols
* tiny typo fix
* Ensure gobgp server listener gets closed
v0.0.16
2017-09-16 02:11:32 -05:00
Murali Reddy
45b72d4b47 Update README.md 2017-09-15 07:48:07 +05:30
Bryan Zubrod
d433fa55ea Fix IPVS persistence flag (#160)
* Fix IPVS persistence flag

* Improve service proxy logging

* Fix Destination string

* Enhanced ipvs ServiceFlags handling
2017-09-13 21:24:00 -05:00
Murali Reddy
3987ae14e4 Merge pull request #154 from cloudnativelabs/disable_ipip
Adding ability to disable IP-in-IP tunnelining
2017-09-08 22:11:55 +05:30
Murali Reddy
ca97d0d6eb Adding ability to disable IP-in-IP tunnelining for cross node pod-to-pod connectivity
where nodes are in different subnet. With tunneling disabled its expected that default
gateway has learned the pod CIDR's allocated for all the nodes and can route the
pod-to-pod traffic across nodes in different subnets

Fixes #119
2017-09-08 22:03:09 +05:30
Murali Reddy
1c4adafd32 Merge pull request #150 from cloudnativelabs/nodeport_bind_all_ip
Kube-proxy like behaviour to listen on all ip's for NodePort service.
2017-09-07 14:34:49 +05:30
Murali Reddy
62900c7659 NodePort service listens on all ip/interfaces in case of kube-proxy. Currently kube-router listens only on node IP.
This fix introduces flag nodeport-bindon-all-ip with which you can have kube-proxy like behaviour. If not specified
only nodeIP will be open for connections.

Fixes #139
2017-09-07 14:31:34 +05:30
Murali Reddy
6ea240f6f4 Fix image refered in kubeadm daemonsets to release/latesr versions 2017-09-04 19:36:52 +05:30
Murali Reddy
f6a5e239f0 fixing gofmt, go_vet, gocyclo, golint errors 2017-09-04 17:10:48 +05:30
Murali Reddy
c3c5e56c3a Merge pull request #148 from cloudnativelabs/goreportcard
fixing gofmt, go_vet, gocyclo, golint errors
2017-09-04 14:54:52 +05:30
Murali Reddy
020d93238e fixing gofmt, go_vet, gocyclo, golint errorswq 2017-09-04 14:49:45 +05:30
Murali Reddy
c9c6107ddd Merge pull request #143 from cloudnativelabs/pbr_tunnels
Setup policy-based routing so that traffic arriving on a tunnel interface leaves on same tunnel interface irrespective of rp_filter value
v0.0.15
2017-09-02 06:07:12 +05:30
Murali Reddy
7b9eedcd7c Setup policy-based routing so that traffic arriving on a tunnel interface leaves on same tunnel interface irrespective of rp_filter value
- ip rule to lookup custom route table for packets arriving from the pods
    - in the custom route table add route to route traffic to remote node through tunnel interface

Fixes #138
2017-09-02 04:00:20 +05:30
Murali Reddy
22330abf2c Merge pull request #146 from cloudnativelabs/goreportcard
fix gofmt, go_vet, misspells
2017-09-02 00:39:04 +05:30
Murali Reddy
ed935a4d7a fix gofmt, go_vet, misspells 2017-09-02 00:29:35 +05:30
Murali Reddy
b171f226d1 Update README.md 2017-09-01 23:54:12 +05:30
Murali Reddy
2cd54fc7eb Merge pull request #142 from cloudnativelabs/br_netfilter
Enable netfilter for bridge, a must requirement for all CNI that use bridge
v0.0.14
2017-08-29 22:32:45 +05:30
Murali Reddy
ff079d205a Enable netfilter for bridge, requirement for all CNI that use bridge
https://kubernetes.io/docs/concepts/cluster-administration/network-plugins/#network-plugin-requirements

Fixes #141
2017-08-29 20:13:33 +05:30
Murali Reddy
5951f55608 Adding architecture details v0.0.13 2017-08-24 16:09:46 +05:30
Murali Reddy
89105e821c Merge pull request #134 from Thoro/mac-build-environment
Add build-image folder, which allows to build kube-router on mac os
2017-08-20 21:29:23 +05:30
Murali Reddy
bcb56225d3 Merge pull request #133 from Thoro/consolidate-stop-channel
Consolidate multiple stop channels into one
2017-08-20 21:08:35 +05:30
Thomas Rosenstein
cb0888b482 Add build-image folder, which allows to build kube-router on mac os 2017-08-20 17:30:16 +02:00
Thomas Rosenstein
9bd4bb8ccb Consolidate multiple stop channels into one 2017-08-20 17:14:35 +02:00
Murali Reddy
72fd0d2cd0 re-organize documentation 2017-08-20 17:50:53 +05:30
Murali Reddy
547b17d9c0 Merge pull request #131 from cloudnativelabs/112-ntwk-plcy
NetworkPolicy: Fix e2e test failures
2017-08-18 02:58:44 +05:30
Murali Reddy
1af19cbba2 NetworkPolicy: Fix e2e test failures
- Handle namespaceSelector in NetworkPolicyPeer
  - hanlde default allow and defaul deny policies as defined in
    https://kubernetes.io/docs/concepts/services-networking/network-policies/#default-policies

Fixes #112
2017-08-18 02:50:56 +05:30
Bryan Zubrod
8bf6281704 Add logo to README (#128) v0.0.12 2017-08-15 09:11:36 -05:00
bzub
64f7700e24 Add logo 2017-08-15 08:04:18 -05:00
Murali Reddy
0cf1037d94 Update README.md 2017-08-15 10:35:52 +05:30
Murali Reddy
42a48a9f4f Merge pull request #127 from cloudnativelabs/default-permit-policy
Add iptable rule in filter table FORWRD chain to allow traffic in and out to the pods
2017-08-14 18:20:18 +05:30
Murali Reddy
11a779f78c Add iptable rule in filter table FORWRD chain to allow traffic in and out to the pods
Fixes #120
2017-08-14 18:08:47 +05:30
Bryan Zubrod
f333aacf7e vendor: Update GoBGP to fix fd leak (#124) 2017-08-13 20:07:08 -05:00
Bryan Zubrod
ef8cf3313a Vagrant fixes (#125)
* Fix destroy before bootkube clone
* Fix multiple calls of vagrant-destroy.sh
2017-08-13 14:32:33 -05:00
Murali Reddy
82818d8528 Merge pull request #122 from cloudnativelabs/118-kuber-router-kubeadm
use kube-router as kube-proxy replacement
2017-08-11 15:43:42 +05:30