213 Commits

Author SHA1 Message Date
sbkoth
cc2cad3ac7 Update kubeadm.md (#216) 2017-11-08 08:10:10 +05:30
Murali Reddy
28c5dd20ef
use table id instead of table name for custom routing tables (#215) v0.0.19 2017-11-08 07:35:47 +05:30
sbkoth
5783c30f33 Fix typo in doc (#212) 2017-11-03 18:20:48 +05:30
Murali Reddy
1a647b694f updating documentation v0.0.18 2017-11-01 17:50:46 +05:30
Murali Reddy
b180094836 set priority for custom routing tables so that, FWMARK packets are delivered locally
and for the rest of the traffic policy routing sets endpoints (dev kube-bridge) as
next hop for external IP's
2017-10-30 17:19:20 +05:30
Murali Reddy
5f425ebb89
Fixes direct server return on exteranl IP's (#210)
- add a route to exteranl ip in custom routing table to prevent martian packets
- switch between Masqurade and Tunnel for forwarding when DSR in disabled and enabled
2017-10-30 11:37:39 +05:30
Murali Reddy
6a3fadae05 Direct Server Return Fixes (#209)
as you annotate and remove DSR annotation, switch the IPVS server
type to tunneling to masqurade mode

also restrict preparing the pod for DSR only to the local pods
2017-10-27 13:40:44 +05:30
Murali Reddy
77f45e356b Use service annotations to choose IPVS scheduling method (#207)
Fixes #6
2017-10-25 11:38:50 +05:30
Murali Reddy
6d432681de support for direct server return (#204)
new annotation is added `kube-router.io/service.dsr=tunnel` to enable DSR

Fixes #40
2017-10-24 18:20:58 +05:30
Murali Reddy
4ca0afa82c Support for advertising service external IP to be configured BGP peers (#203)
introduces new flag `--advertise-external-ip`

Fixes #161
2017-10-17 00:54:19 +05:30
Murali Reddy
ba7697b72e Support for Services with externalIPs (#201)
Fixes #26
2017-10-16 22:45:06 +05:30
Murali Reddy
84741b6a5e network policy: use 'addrtype' module and --src-type=LOCAL to match local traffic 2017-10-16 02:14:44 +05:30
Murali Reddy
665e6676b2 Fix to avoid re-adding existing BGP export policy, and policy assignment (#200)
Fixes #197
2017-10-16 00:50:41 +05:30
Murali Reddy
50173e3b73 Support for 32 bit ASN numbers specifically the range 4200000000 - 4294967294 as specified by RFC 6996 (#196)
Fixes #194
2017-10-13 01:41:53 +05:30
Murali Reddy
9eb1848da5 Network policy: always permit traffic from local node to the pods irrespective of network policies (#195)
fixes #87
2017-10-13 00:43:29 +05:30
Murali Reddy
ea459a32a9 Merge pull request #193 from cloudnativelabs/ntwk-policy-cidr-selector
Support CIDR in network policy ingress and egress rules
2017-10-12 13:23:31 +05:30
Murali Reddy
928deedf79 Support CIDR in network policy ingress and egress rules
Fixes #144
2017-10-12 12:54:17 +05:30
bzub
c3e8c111a7 Fix missing quotes in upgrading examples
Also a small cosmetic change, remove trailing space
2017-10-09 13:24:56 -05:00
Murali Reddy
2b910b2a62 Merge pull request #186 from cloudnativelabs/103-egress-network-policy
Network policy egress support
2017-10-09 14:53:18 +05:30
Murali Reddy
45cb08734e Network policy egress support
Fixes #103
2017-10-09 14:34:40 +05:30
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