Dataplane Networking journey in Containers Gary Loughnane - - PowerPoint PPT Presentation

dataplane networking journey in containers
SMART_READER_LITE
LIVE PREVIEW

Dataplane Networking journey in Containers Gary Loughnane - - PowerPoint PPT Presentation

Dataplane Networking journey in Containers Gary Loughnane gary.loughnane@intel.com Kuralamudhan Ramakrishnan kuralamudhan.ramakrishnan@intel.com DPDK Summit Userspace - Dublin- 2017 Discussion topics Container Deployment Models


slide-1
SLIDE 1

Dataplane Networking journey in Containers

Gary Loughnane – gary.loughnane@intel.com Kuralamudhan Ramakrishnan – kuralamudhan.ramakrishnan@intel.com DPDK Summit Userspace - Dublin- 2017

slide-2
SLIDE 2

Discussion topics

 Container Deployment Models  Container Bare Metal Reference Architecture  Container Unified Infrastructure Reference Architecture

2

slide-3
SLIDE 3

Network Cloudification Multiple Deployment Models

Hybrid Unified

vCPE vEPC vRNC vNAT vHLR vIMS vSGSN vRouter vMME vGGSN vIDS vFirewall

NFVi- Network

SR-IOV

VM Containers VM Containers

Containers

VM

Bare Metal

CLOUD NATIVE COMPUTING FOUNDATION

NFV Orchestration

VNFs 3

slide-4
SLIDE 4

Network Cloudification Multiple Deployment Models –Today Discussion Focus

NFVi- Network

SR-IOV

VM

Bare metal

Containers

Unified

Containers

VM

vCPE vEPC vRNC vNAT vHLR vIMS vSGSN vRouter vMME vGGSN vIDS vFirewall

NFV Orchestration

VNFs

CLOUD NATIVE COMPUTING FOUNDATION

4

slide-5
SLIDE 5

Containers Compute & Networking

Open Source Projects

SW Contributions Demo Integration

VNF

Address Container Networking Industry Gaps Intel Containers NFV Reference Architectures (Experience Kits )

MULTUS EPA - CMK SW Data Plane Scale Kuryr SW

Best Practice Guidelines Experience kits (Examples) Container BM

  • Ref. Architecture
  • Rel. 1 Oct. 2017

Container UI

  • Ref. Architecture
  • Rel. 1 Feb 2017

Multi-network Support Resource Isolation Data Plane Support Data Center Heterogeneity

Existing Solution

MULTUS SR-IOV CNI PLUGIN DPDK CNI PLUGIN

NEW SOLUTIONS: WIP

NUMA Awareness Huge pages QAT

RESOURCE MANAGMENT

CPU Core Pinning

CPU MANAGER for K8s

Identified Gaps Resolve, Integrate Communicate

NODE FEATURE DISCOVERY

5

5

slide-6
SLIDE 6

Network Cloudification Multiple Deployment Models –Today Discussion Focus

NFVi- Network

SR-IOV

VM

Bare metal

Containers

Unified

Containers

VM

vCPE vEPC vRNC vNAT vHLR vIMS vSGSN vRouter vMME vGGSN vIDS vFirewall

NFV Orchestration

VNFs 6

slide-7
SLIDE 7

Node Feature Discovery CPU Manager for Kubernetes

Native Huge page support for Kubernetes

SR-IOV VHOST USER

Industry challenges in containers Bare Metal

Multiple network interfaces for VNFs Support for high performance Data Plane (N-S) Support for high performance Data Plane(E-W) Ability to request/allocate platform capabilities

Support for CPU Core-Pinning for K8s pods Dynamic Huge Page allocation

7

7

slide-8
SLIDE 8

Kubernetes networks via Container Network Interface (CNI)

Container Orchestration Engines Container Runtime Container Network Interface Container Network Interface Plugins

Containers Node - Environment Management

8

slide-9
SLIDE 9

Can “mix and match” with CNI as the API

Kubernetes networks via Container Network Interface (CNI)

Container Orchestration Engines Container Runtime Container Network Interface Container Network Interface Plugins

Containers Node - Environment Management

Container Network Interface

SR-IOV Open Source Projects

9

slide-10
SLIDE 10

Kubernetes Pod Container

VNF Application

DPDK

Kernel

SR-IOV Enabled Network Interface

VF VF VF

uio_pci_generic/igb_uio/vfio-pci

PROBLEM

Lack of support for physical platform resource isolation No guaranteed network IO performance No support for Data Plane Networking

SOLUTION Allows SRIOV support in Kubernetes via a CNI plugin Intel contributor and maintainer of SR-IOV CNI plugin Supports two modes of operation: SR-IOV : SR-IOV VFs are allocated to pod network namespace DPDK : SR-IOV VFs are bounded to DPDK drivers in the userspace

REFERENCE

https://github.com/Intel-Corp/sriov-cni

DPDK - SRIOV CNI Plugin

10

10

slide-11
SLIDE 11

NIC

eth0

OVS- DPDK / VPP

PROBLEM No Container Networking with software acceleration for NFV particularly for East – West Traffic

SOLUTION Virtio_user/ vhost_user gives boosted performance than VETH pairs Support VPP as well as DPDK OVS Vhost_user CNI plugin enables K8s to leverage data plane acceleration

REFERENCE https://github.com/intel/vhost-user-net-plugin

Vhost user CNI Plugin

vhostuser

Kubernetes Pod Container

VNF Application

DPDK

virtio_user

11

11

slide-12
SLIDE 12

Network Cloudification Multiple Deployment Models –Today Discussion Focus

NFVi- Network

SR-IOV

VM

Bare metal

Containers

Unified

Containers

VM

vCPE vEPC vRNC vNAT vHLR vIMS vSGSN vRouter vMME vGGSN vIDS vFirewall

NFV Orchestration

VNFs

CLOUD NATIVE COMPUTING FOUNDATION

12

slide-13
SLIDE 13

CPU Manager for Kubernetes

Industry challenges in Nested Containers

Network performance penalties for Container in VM Scaling Data plane networking Multiple network interfaces for VNFs Support for CPU Core-Pinning for K8s pods

Kuryr- Kubernetes MASTER VM

13

13

slide-14
SLIDE 14

OBJECTIVES One Virtual Machine to many Containers Target: 1k Containers per VM Container Data Plane performance BENEFITS

  • VT-x ring de-privileging to move the VM and Container into

userspace, making it accessible to the userspace vSwitch with just a single copy.

  • Standard Virtio interface that supports both interrupt and poll

modes, VNF and Cloud based applications.

  • Standard Vhost shared memory interface between DPDK

vSwitch and VNF. SOLUTIONS

  • Enabling DPDK in containers using VIRTIO
  • Using Kuryr–Kurbernetes, orchestrate the Dataplane

networking – DPDK workload using the vSwitch USE CASE Elasticity and scalability of containerized VNF application in VM

Master VM: Co-existence of Containers and Virtual Machines DPDK based vSwitch, independent method to accelerate the Container Data Plane.

Master VM For Containers Enabling DPDK in Nested Containers

Socket App

Nova

DPDK Pod Non DPDK Pod

BSD Sockets API

Layer 4 Layer 3 Layer 2

Network Appliance Virt I/O Virt I/O

Neutron

Virtual Machine

Kubernetes

14

14

slide-15
SLIDE 15

Kuryr – Kurbernetes with Dataplane Networking with DPDK based vSwitch

SOLUTION (WIP) Working on the PoC for the development of DPDK net plugin support in kuryr CNI DPDK: Virtio are bounded to DPDK drivers in the userspace REFERENCE https://blueprints.launchpad.net/kuryr- kubernetes/+spec/nested-dpdk-support PROBLEM (Current Status) No support for Data Plane Networking for nested containers in Unified Infrastructure RA

Virtual Machine

Kubernetes Pod Container

VNF Application

DPDK

Kernel

Neutron

virtio virtio virtio

uio_pci_generic/igb_uio/vfio-pci

15

15

slide-16
SLIDE 16

Questions?

Gary Loughnane gary.loughnane@intel.com Kuralamudhan Ramakrishnan kuralamudhan.ramakrishnan@intel.com