cncf-toc/proposals/CNI Proposal

66 lines
2.6 KiB
Text
Raw Normal View History

# Name of project: Container Networking Interface
# Description
The CNI (Container Network Interface) project consists of a specification and libraries for writing plugins to configure network interfaces
in Linux containers, along with a number of supported plugins. CNI concerns itself only with network connectivity of containers and removing
allocated resources when the container is deleted. Because of this focus, CNI has a wide range of support and the specification is simple to
implement. CNI consists of 3 separate comonents:
* CNI Specification: defines an straightforward API between runtimes and network plugins for container network setup/teardown. No more, no less.
* Plugins: provide network setup for a variety of use-cases and serve as reference examples of plugins conforming to the CNI specification
* Library: provide a Go implementation of the CNI specification that runtimes can use to more easily consume CNI
NOTE: CNI Specification is independently versioned from the CNI library and plugins in the repository (e.g. the versions of releases). The plugins are being pulled out into a separate repository
**Sponsor/Advisor from TOC:** Ken Owens
**preferred maturity level:** Incubating
**License:** Apache License v2.0
**Source control repositories:** https://github.com/containernetworking/cni
**external dependencies:** None
**Initial Committers:** https://github.com/containernetworking/cni/graphs/contributors
**infrastructure requests (CI / CNCF Cluster):** None
**communication channels (slack, irc, mailing lists):**
* Email: cni-dev
* IRC: #containernetworking channel on freenode.org
* Slack: containernetworking.slack.com
**issue tracker (GitHub by default):** Github - https://github.com/containernetworking/cni/issues
**website (current version will move to project.cncf.io):** https://github.com/containernetworking
**release methodology and mechanics:**
*TBD*
**social media accounts**
**community size and any existing sponsorship**
* 56 Contributors
* 591 Stars
* 17 releases
## Container runtimes
rkt - container engine
Kurma - container runtime
Kubernetes - a system to simplify container operations
Cloud Foundry - a platform for cloud applications
Mesos - a distributed systems kernel
## 3rd party plugins
Project Calico - a layer 3 virtual network
Weave - a multi-host Docker network
Contiv Networking - policy networking for various use cases
SR-IOV
Cilium - BPF & XDP for containers
Infoblox - enterprise IP address management for containers
Multus - a Multi plugin
Romana - Layer 3 CNI plugin supporting network policy for Kubernetes
CNI-Genie - generic CNI network plugin