contiv/netplugin


Container networking for various use cases

License: Apache-2.0

Language: Go

Keywords: container-networking, containers, docker, docker-plugin, kubernetes-networking, networking


Build Status

Netplugin

Generic network plugin is designed to handle networking use cases in clustered multi-host systems. It is specifically designed to handle:

  • Multi-tenant environment where disjoint networks are offered to containers on the same host
  • SDN applications and interoperability with SDN solutions
  • Interoperability with non container environment and hand-off to a physical network
  • Instantiating policies/ACL/QoS associated with containers
  • Multicast or multi-destination dependent applications
  • Integration with existing IPAM tools for migrating customers
  • Handle NIC's capabilities for acceleration (SRIOV/Offload/etc.)

Documentation

Full, comprehensive documentation is available on the website:

http://docs.contiv.io

Getting-started videos are available on YouTube.

Getting Started

This will provide you with a minimal experience of uploading the intent and seeing the netplugin system act on it. It will create a network on your host that lives behind an OVS bridge and has its own unique interfaces.

Step 1: Clone the project and bringup the VMs

$ git clone https://github.com/contiv/netplugin
$ cd netplugin; make demo
$ vagrant ssh netplugin-node1

Step 2: Create a network

$ netctl net create contiv-net --subnet=20.1.1.0/24

Step 3: Run your containers and enjoy the networking!

$ docker run -itd --name=web --net=contiv-net alpine /bin/sh
$ docker run -itd --name=db --net=contiv-net alpine /bin/sh
$ docker exec -it web /bin/sh
< inside the container >
root@f90e7fd409c4:/# ping db
PING db (20.1.1.3) 56(84) bytes of data.
64 bytes from db (20.1.1.3): icmp_seq=1 ttl=64 time=0.658 ms
64 bytes from db (20.1.1.3): icmp_seq=2 ttl=64 time=0.103 ms

Building and Testing

Note: Vagrant 1.7.4 and VirtualBox 5.0+ are required to build and test netplugin.

High level make targets:

  • demo: start two VM demo cluster for development or testing.
  • build: build the binary in a VM and download it to the host.
  • unit-test: run the unit tests. Specify CONTIV_NODE_OS=centos to test on centos instead of ubuntu.
  • system-test: run the networking/"sanity" tests. Specify CONTIV_NODE_OS=centos to test on centos instead of ubuntu.

How to Contribute

Patches and contributions are welcome, please hit the GitHub page to open an issue or to submit patches send pull requests. Please sign your commits, and read CONTRIBUTING.md

Project Statistics

Sourcerank 9
Repository Size 32.9 MB
Stars 485
Forks 177
Watchers 93
Open issues 153
Dependencies 75
Contributors 20
Tags 136
Created
Last updated
Last pushed

Top Contributors See all

Sukhesh Halemane Madhav Puri Vipin Jain Erik Hollensbe Abhinandan Prativadi Divya Vavili Joji Mekkatt Vikrant Balyan sachja unclejack pkeerthana Gaurav Dalvi André Martins saramach Vijay Krishnan Tom Denham Balaji Siva Dave Welsch Rajesh Nataraja Brandon Philips

Packages Referencing this Repo

github.com/contiv/netplugin/netmaster/k8snetwork
Container networking for various use cases
Latest release 1.2.0 - Published - 485 stars
github.com/contiv/netplugin/contivmodel
Container networking for various use cases
Latest release 1.2.0 - Published - 485 stars
github.com/contiv/netplugin/mgmtfn/mesosplugin
Container networking for various use cases
Latest release 1.2.0 - Published - 485 stars
github.com/contiv/netplugin/svcplugin/skydns2extension
Container networking for various use cases
Latest release 1.2.0 - Published - 485 stars
github.com/contiv/netplugin/mgmtfn/k8splugin/cniapi
Container networking for various use cases
Latest release 1.2.0 - Published - 485 stars
github.com/contiv/netplugin/netctl
Container networking for various use cases
Latest release 1.2.0 - Published - 485 stars
github.com/contiv/netplugin
Container networking for various use cases
Latest release 1.2.0 - Published - 485 stars
github.com/contiv/netplugin/netplugin/cluster
Container networking for various use cases
Latest release 1.2.0 - Published - 485 stars
github.com/contiv/netplugin/netmaster/docknet
Container networking for various use cases
Latest release 1.2.0 - Published - 485 stars
github.com/contiv/netplugin/svcplugin
Container networking for various use cases
Latest release 1.2.0 - Published - 485 stars
github.com/contiv/netplugin/netplugin/svcplugin
Container networking for various use cases
Latest release 1.2.0 - Published - 485 stars
github.com/contiv/netplugin/netmaster/master
Container networking for various use cases
Latest release 1.2.0 - Published - 485 stars
github.com/contiv/netplugin/netmaster/intent
Container networking for various use cases
Latest release 1.2.0 - Published - 485 stars
github.com/contiv/netplugin/netdcli
Container networking for various use cases
Latest release 1.2.0 - Published - 485 stars
github.com/contiv/netplugin/mgmtfn/dockplugin
Container networking for various use cases
Latest release 1.2.0 - Published - 485 stars
github.com/contiv/netplugin/state
Container networking for various use cases
Latest release 1.2.0 - Published - 485 stars
github.com/contiv/netplugin/crtclient
Container networking for various use cases
Latest release 1.2.0 - Published - 485 stars
github.com/contiv/netplugin/utils/netutils
Container networking for various use cases
Latest release 1.2.0 - Published - 485 stars
github.com/contiv/netplugin/netmaster/mastercfg
Container networking for various use cases
Latest release 1.2.0 - Published - 485 stars
github.com/contiv/netplugin/svcplugin/consulextension
Container networking for various use cases
Latest release 1.2.0 - Published - 485 stars

Recent Tags See all

1.2.0 December 14, 2017
1.1.7 November 14, 2017
1.1.6 November 01, 2017
1.1.5 October 19, 2017
1.1.5-cvd.1 October 16, 2017
1.1.4 October 09, 2017
1.1.3 September 29, 2017
1.1.2 August 26, 2017
1.1.1 July 20, 2017
1.1.0 July 14, 2017
1.1.0-rc.1 June 21, 2017
1.0.3 June 08, 2017
1.0.2 May 25, 2017
1.0.0-beta-04-30-2017.17-24-40.UTC April 28, 2017
1.0.0-beta-04-29-2017.17-20-00.UTC April 28, 2017

Interesting Forks See all

jainvipin/netplugin
Go - Other - Last pushed - 2 stars
fdio-stack/netplugin
Container networking for various use cases
Go - Last pushed - 1 stars
xxbandy/netplugin
contiv cni for k8s
Go - Last pushed - 1 stars
mhrobinson/netplugin
Development fork of contiv/netplugin
Go - Last pushed - 1 stars
rchirakk/netplugin
Container networking for various use cases
Go - Other - Last pushed - 1 stars

Something wrong with this page? Make a suggestion

Last synced: 2016-05-27 16:05:03 UTC

Login to resync this repository