View on GitHub

k8s-srv6

Extending Kubernetes with SRv6

ROSE project

In this project, we extend Kubernetes to make use of SRv6. The integration of SRv6 in Kubernetes can be very beneficial when Kubernetes is used in large scale and/or distributed multi-datacenter scenarios.

We have focused on the Calico CNI plugin, one of the most used networking plugin of Kubernetes. Calico supports different data planes, we have considered the Calico-VPP data plane because VPP natively provides support for SRv6 operations with very high performance.

We have developed and released a new overlay type in Calico-VPP, called SRv6 overlay. The SRv6 overlay can be used instead of the IP-in-IP overlay. The SRv6 overlay supports:

We have deployed the proposed SRv6 overlay in two replicable virtual testbeds, which we refer to as basic testbed and full testbed. The basic testbed only demonstrates SRv6 tunneling equivalent to IP-in-IP tunneling. The full testbed demonstrates Traffic Engineering capabilities.

In the full testbed we consider two solutions to distribute the SRv6 Traffic Engineering policies:

Walkthrough

We have described the steps to replicate the testbeds and execute the experiments in this walkthrough document. We report its table of content:

Scientific papers

Source code