Clean up CNI proposal for wider RFC
Signed-off-by: Chris Aniszczyk <caniszczyk@gmail.com>
This commit is contained in:
parent
732fb1466e
commit
ca211abf22
2 changed files with 79 additions and 65 deletions
|
@ -1,65 +0,0 @@
|
||||||
# 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
|
|
79
proposals/cni.adoc
Normal file
79
proposals/cni.adoc
Normal file
|
@ -0,0 +1,79 @@
|
||||||
|
# Container Networking Interface (CNI)
|
||||||
|
|
||||||
|
**Project Name:** cni
|
||||||
|
|
||||||
|
**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/blob/master/MAINTAINERS
|
||||||
|
|
||||||
|
**Infrastructure requests (CI / CNCF Cluster):** None
|
||||||
|
|
||||||
|
**Communication channels (slack, irc, mailing lists):**
|
||||||
|
|
||||||
|
* Email: [cni-dev](https://groups.google.com/forum/#!forum/cni-dev)
|
||||||
|
* IRC: #containernetworking channel on freenode.org
|
||||||
|
* Slack: https://containernetworking.slack.com
|
||||||
|
|
||||||
|
**Issue tracker (GitHub by default):** Github - https://github.com/containernetworking/cni/issues
|
||||||
|
|
||||||
|
**Website:** https://github.com/containernetworking
|
||||||
|
|
||||||
|
**Release methodology and mechanics:**
|
||||||
|
|
||||||
|
https://github.com/containernetworking/cni/blob/master/ROADMAP.md
|
||||||
|
|
||||||
|
**Social media accounts:** N/A
|
||||||
|
|
||||||
|
**Community size and any existing sponsorship**
|
||||||
|
|
||||||
|
* 56 Contributors
|
||||||
|
* 591 Stars
|
||||||
|
* 17 releases
|
||||||
|
|
||||||
|
**Adopters:**
|
||||||
|
|
||||||
|
* 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
|
||||||
|
|
||||||
|
There is also a large ecosystem of third party plug-ins:
|
||||||
|
|
||||||
|
* 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
|
||||||
|
|
||||||
|
**Statement on alignment with CNCF mission**:
|
||||||
|
|
||||||
|
CNI defines initial guidelines for a network interface specification focused on
|
||||||
|
connectivity and portability of cloud native application patterns.
|
||||||
|
It is already supported by many cloud native and container runtimes discussed
|
||||||
|
in the adopters section of this document.
|
Loading…
Reference in a new issue