Contiv - VPP
Contiv-VPP is a CNI plugin for Kubernetes that employs a programmable CNF vSwitch based on FD.io VPP offering feature-rich, high-performance cloud-native networking and services.
For more details see https://contivpp.io/
Features
- kube-proxy implementation on VPP - in the userspace (full implemenatation of k8s services & k8s policies)
- support for multiple interfaces per pod, including memif interfaces
- support for multiple isolated L2 or L3 networks
- IPv6 support, segment routing implementation of k8s services (SRv6)
- service chaining between pods for CNF workloads
Releases
Release | Version | Date |
---|---|---|
Latest stable release |
Please see the CHANGELOG for a full list of changes on every release.
Documentation
The docs folder contains lots of documentation. For the beginning, you can start with:
- ARCHITECTURE for high-level description of Contiv-VPP components and operation,
- NETWORKING for detailed description on how the network is programmed with Contiv-VPP,
- DEVELOPER GUIDE for details on how Contiv-VPP works internally.
Quickstart
You can get started with Contiv-VPP in one of the following ways:
-
Use the Contiv-VPP Vagrant Installation instructions to start a simulated Kubernetes cluster with a couple of hosts running in VirtualBox VMs. This is the easiest way to bring up a cluster for exploring the capabilities and features of Contiv-VPP.
-
Use the Contiv-specific kubeadm install instructions to manually install Kubernetes with Contiv-VPP networking on one or more bare-metal servers.
-
Use the Arm64-specific kubeadm install instructions to manually install Kubernetes with Contiv-VPP networking on one or more bare-metal servers of Arm64 platform.
-
Use the Calico-VPP Vagrant to explore deployment of VPP in Calico clusters, where some of the nodes can be running plain Calico (without VPP) and some of the nodes can be running Calico with VPP.
-
Try Contiv-VPP UI web browser user interface on top of Contiv-VPP, it runs in Vagrant deployments as well as on bare-metal.
Configuration & Troubleshooting
Please refer to the Contiv-VPP configuration and troubleshooting document.
Reporting Bugs
In order to report a bug, please file an issue in GitHub. Please provide the information described in Bug Reports README.
Communication Channels
Slack Channel: https://contivvpp.slack.com/ (invite).
Contributing
If you are interested in contributing, please see the contribution guidelines.