Top Banner
1 Datacenter Network Solutions Group
23

Datacenter Network Solutions Group - SYS-CON Mediares.cdn.sys-con.com/session/3478/Kuralamudhan_Ramakrishnan.pdf · KUBE-PROXY NODE 2 POD API-SERVER Open-source Platform for containerised

Mar 11, 2019

Download

Documents

vandang
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Datacenter Network Solutions Group - SYS-CON Mediares.cdn.sys-con.com/session/3478/Kuralamudhan_Ramakrishnan.pdf · KUBE-PROXY NODE 2 POD API-SERVER Open-source Platform for containerised

1Datacenter Network Solutions Group

Page 2: Datacenter Network Solutions Group - SYS-CON Mediares.cdn.sys-con.com/session/3478/Kuralamudhan_Ramakrishnan.pdf · KUBE-PROXY NODE 2 POD API-SERVER Open-source Platform for containerised

Advanced Network Scheduling AND Isolation in kubernetes

Kuralamudhan [email protected]

Senior Software Engineer Data Center Network Solution Group

Intel

Page 3: Datacenter Network Solutions Group - SYS-CON Mediares.cdn.sys-con.com/session/3478/Kuralamudhan_Ramakrishnan.pdf · KUBE-PROXY NODE 2 POD API-SERVER Open-source Platform for containerised

3Datacenter Network Solutions Group

Legal Notices and Disclaimers• Intel technologies’ features and benefits depend on system configuration and may require enabled

hardware, software or service activation. Learn more at intel.com, or from the OEM or retailer.

• No computer system can be absolutely secure.

• Software and workloads used in performance tests may have been optimized for performance only on Intel microprocessors. Performance tests, such as SYSmark and MobileMark, are measured using specific computer systems, components, software, operations and functions. Any change to any of those factors may cause the results to vary. You should consult other information and performance tests to assist you in fully evaluating your contemplated purchases, including the performance of that product when combined with other products. For more complete information visit http://www.intel.com/performance.

• Intel, the Intel logo, Xeon, and others are trademarks of Intel Corporation in the U.S. and/or other countries. *Other names and brands may be claimed as the property of others.

• © 2017 Intel Corporation.

Page 4: Datacenter Network Solutions Group - SYS-CON Mediares.cdn.sys-con.com/session/3478/Kuralamudhan_Ramakrishnan.pdf · KUBE-PROXY NODE 2 POD API-SERVER Open-source Platform for containerised

4Datacenter Network Solutions Group

What will you learn today? • Containers in the NFV ecosystem

• Introduction to Kubernetes and CNI

• Kubernetes Networking and Scheduling Challenges

• Advanced Networking Solution for Kubernetes

• Summary and Next Steps

• High Performance Networking Demo

Page 5: Datacenter Network Solutions Group - SYS-CON Mediares.cdn.sys-con.com/session/3478/Kuralamudhan_Ramakrishnan.pdf · KUBE-PROXY NODE 2 POD API-SERVER Open-source Platform for containerised

5Datacenter Network Solutions Group

VM

VM based Virtual Network functionVM based Virtualized Network Functions

vIDS vFirewall vMME vGGSN

vSGSNvHLRvRNCvCPE

vEPC vLB vIMS vRouter

Hypervisor

Hardware

Orchestration Today Discussion Focus

Virtualization of Network for SDN/NFV –Multiple Deployment Models

Containers

Hardware

Containerized Virtual Network Functions

vIDS vFirewall

vRNCvCPE

vEPC vLB

vMME vGGSN

vSGSNvHLR

vIMS vRouter

Orchestration Virtualized Network Functions

vIDS vFirewall

vRNCvCPE

vEPC vLB

Hypervisor

Hardware

Orchestration

vMME vGGSN

vSGSNvHLR

vIMS vRouter

VM Container

VM Containers

VM Containers

Container(s) VM’s

VM and containers Coexistence and Unified Orchestration

Page 6: Datacenter Network Solutions Group - SYS-CON Mediares.cdn.sys-con.com/session/3478/Kuralamudhan_Ramakrishnan.pdf · KUBE-PROXY NODE 2 POD API-SERVER Open-source Platform for containerised

6Datacenter Network Solutions Group

CONTAINERS IN NFV ECOSYSTEM

VNFs

vCPE

vEPC

vRNC

vNAT

vHLR

vIMS

vSGSN

vRouter

vMME

vGGSN

vIDS

vFirewall

VNF Deployment model

VM Containers Coexistence and Unified Orchestration

VM Containers

VMContainer(s)

NFVi- Network

SR-IOV

NFV Orchestration

Page 7: Datacenter Network Solutions Group - SYS-CON Mediares.cdn.sys-con.com/session/3478/Kuralamudhan_Ramakrishnan.pdf · KUBE-PROXY NODE 2 POD API-SERVER Open-source Platform for containerised

7Datacenter Network Solutions Group

Kubernetes INTRODUCTION

KUBLET

etcd

K8s MASTER

CONTROLLER MANAGER

KUBELET

NODE 1Pod Spec

SCHEDULER

Building blocks of Kubernetes

KUBE-PROXY

NODE 2

POD

API-SERVER

Open-source Platform for containerised applications

Automates Deployments

Manages application lifecycle and Scaling

Originated from Google and contributed to Cloud Native Computing Foundation (CNCF)

Page 8: Datacenter Network Solutions Group - SYS-CON Mediares.cdn.sys-con.com/session/3478/Kuralamudhan_Ramakrishnan.pdf · KUBE-PROXY NODE 2 POD API-SERVER Open-source Platform for containerised

8Datacenter Network Solutions Group

Kubernetes networking VIA CNI

Container Orchestration Engines

Container Runtime

Container Network Interface

Container Network Interface Plugins

Containers Node -

Environment

Management

Page 9: Datacenter Network Solutions Group - SYS-CON Mediares.cdn.sys-con.com/session/3478/Kuralamudhan_Ramakrishnan.pdf · KUBE-PROXY NODE 2 POD API-SERVER Open-source Platform for containerised

9Datacenter Network Solutions Group

Kubernetes networking VIA 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

Page 10: Datacenter Network Solutions Group - SYS-CON Mediares.cdn.sys-con.com/session/3478/Kuralamudhan_Ramakrishnan.pdf · KUBE-PROXY NODE 2 POD API-SERVER Open-source Platform for containerised

10Datacenter Network Solutions Group

SR-IOV CNI

Node Feature Discovery

CPU Manager for Kubernetes

Industry challenges

Multiple network interfaces for VNFs

Support for resource isolation

Support for Data Plane Networking

Ability to request/allocate platform capabilities

Support for CPU Core pinning for Kuryr-K8s pods

Page 11: Datacenter Network Solutions Group - SYS-CON Mediares.cdn.sys-con.com/session/3478/Kuralamudhan_Ramakrishnan.pdf · KUBE-PROXY NODE 2 POD API-SERVER Open-source Platform for containerised

11Datacenter Network Solutions Group

Multiple Network InterfacesPROBLEM

Lack of multi-network support in k8s

No network traffic separation for management, control and data planes.

No ability to Implement different network SLAs

SOLUTION

Introducing MULTUS as a CNI plugin to supportmulti-homed pods in k8s

Working on Multiple Network proposal in Kubernetes Network SIG

REFERENCE

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

Multus CNI referenced in the following:Containers in NFV, March 2017 Peter Willis, BT

Enter Multus CNI, Feb. 2017 Doug Smith, RedHat

A Hacker’s Guide to Kubernetes Networking, Feb 2017, Yaron Haviv, Iguazio

Page 12: Datacenter Network Solutions Group - SYS-CON Mediares.cdn.sys-con.com/session/3478/Kuralamudhan_Ramakrishnan.pdf · KUBE-PROXY NODE 2 POD API-SERVER Open-source Platform for containerised

12Datacenter Network Solutions Group

Kernel

SRIOV CNI plugin Kubernetes Pod

Container

VNF Application

DPDK

SR-IOV Enabled Network Interface

VFVF 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

Page 13: Datacenter Network Solutions Group - SYS-CON Mediares.cdn.sys-con.com/session/3478/Kuralamudhan_Ramakrishnan.pdf · KUBE-PROXY NODE 2 POD API-SERVER Open-source Platform for containerised

13Datacenter Network Solutions Group

Multi Homed pod with Multus and

DPDK-SRIOV CNI plugin

Page 14: Datacenter Network Solutions Group - SYS-CON Mediares.cdn.sys-con.com/session/3478/Kuralamudhan_Ramakrishnan.pdf · KUBE-PROXY NODE 2 POD API-SERVER Open-source Platform for containerised

14Datacenter Network Solutions Group

Multus & DPDK CNI plugin Configuration file details• Multus CNI with DPDK-SRIOV CNI

{"name": “dpdk-demo-network","type": "multus","delegates": [

{"type": "sriov","if0": “net2","if0name": "south0","ipam": {

"type": "host-local","subnet": "10.56.217.0/24",

}},{

"type": "sriov","if0": “net3","if0name": "north0","dpdk": {

"kernel_driver":"ixgbevf","dpdk_driver":"igb_uio","dpdk_tool":“…/dpdk/tools/dpdk-devbind.py"

}},{

"type": "flannel","masterplugin": true,"delegate": {

"isDefaultGateway": true}

}]

}

• In the server backend

14

*Source : https://docs.oracle.com/cd/E19076-01/sparc.t2k/819-7988-10/rack_install.html

Page 15: Datacenter Network Solutions Group - SYS-CON Mediares.cdn.sys-con.com/session/3478/Kuralamudhan_Ramakrishnan.pdf · KUBE-PROXY NODE 2 POD API-SERVER Open-source Platform for containerised

15Datacenter Network Solutions Group

Physical Topology From Multus CNI CONFK8s Master + Minion K8s Minion

POD #1

VF#2SR-IOV with

DPDK

Testpmd

VF#1SR-IOV

Port1

Port 2

FlannelInterface

FlannelLinux Bridge

PF1

PF2

POD #2

VF#2SR-IOV with

DPDK

Testpmd

VF#1SR-IOV

FlannelInterface

FlannelLinux Bridge

Switch - 1 GbE

Switch - 10 GbE

Port 3

Port 4

Port1

Port 2

Port 3

Port 4

Fortville 4 x 10Fortville 4 x 10

SW Port SW Port SW Port SW Port

SW PortSW PortSW Port Internet

PF1

PF2

Page 16: Datacenter Network Solutions Group - SYS-CON Mediares.cdn.sys-con.com/session/3478/Kuralamudhan_Ramakrishnan.pdf · KUBE-PROXY NODE 2 POD API-SERVER Open-source Platform for containerised

16Datacenter Network Solutions Group

NODE FEATURE DISCOVERY

API-SERVER

K8s MASTER

SCHEDULER

CONTROLLER MANAGER

ETCDNODE 1

NODE 2

NODE 3

KUBELET

NODE 1

DISCOVERY POD

KUBE-PROXY

DOCKER

KUBELET

NODE 2

DISCOVERY POD

KUBE-PROXY

DOCKER

KUBELET

NODE 3

DISCOVERY POD

KUBE-PROXY

DOCKER

Page 17: Datacenter Network Solutions Group - SYS-CON Mediares.cdn.sys-con.com/session/3478/Kuralamudhan_Ramakrishnan.pdf · KUBE-PROXY NODE 2 POD API-SERVER Open-source Platform for containerised

17Datacenter Network Solutions Group

K8s MASTER

ETCDNODE 1

NODE 2

NODE 3

FEATURE LABELS

API-SERVER

SCHEDULER

CONTROLLER MANAGER

KUBELET

NODE 1

DISCOVERY POD

KUBE-PROXY

DOCKER

KUBELET

NODE 2

DISCOVERY POD

KUBE-PROXY

DOCKER

KUBELET

NODE 3

DISCOVERY POD

KUBE-PROXY

DOCKER

MUTUS-CNI

SRIOV-CNI

SRIOV-NIC

MUTUS-CNI

SRIOV-CNI

SRIOV-NIC

Page 18: Datacenter Network Solutions Group - SYS-CON Mediares.cdn.sys-con.com/session/3478/Kuralamudhan_Ramakrishnan.pdf · KUBE-PROXY NODE 2 POD API-SERVER Open-source Platform for containerised

18Datacenter Network Solutions Group

K8s MASTER

ETCDNODE 1

NODE 2

NODE 3

NODE SELECTION

API-SERVER

SCHEDULER

CONTROLLER MANAGER

KUBELET

NODE 1

DISCOVERY POD

KUBE-PROXY

DOCKER

KUBELET

NODE 2

DISCOVERY POD

KUBE-PROXY

DOCKER

KUBELET

NODE 3

DISCOVERY POD

KUBE-PROXY

DOCKER

apiVersion: v1kind: Podmetadata:

name: nginxspec:

containers:- name: nginx

image: nginxnodeSelector:

SRIOV-NIC: trueSRIOV-CNI: trueMULTUS-CNI: true

MUTUS-CNI

SRIOV-CNI

SRIOV-NIC

MUTUS-CNI

SRIOV-CNI

SRIOV-NIC

Page 19: Datacenter Network Solutions Group - SYS-CON Mediares.cdn.sys-con.com/session/3478/Kuralamudhan_Ramakrishnan.pdf · KUBE-PROXY NODE 2 POD API-SERVER Open-source Platform for containerised

19Datacenter Network Solutions Group

ETCDNODE 1

NODE 2

NODE 3

ADVANCED NETWORKING SCHEDULING

SCHEDULER

CONTROLLER MANAGER

KUBELET

NODE 1

DISCOVERY POD

KUBE-PROXY

DOCKER

POD

KUBELET

NODE 2

DISCOVERY POD

KUBE-PROXY

DOCKER

KUBELET

NODE 3

DISCOVERY POD

KUBE-PROXY

DOCKER

apiVersion: v1kind: Podmetadata:

name: nginxspec:

containers:- name: nginx

image: nginxnodeSelector:

SRIOV-NIC: trueSRIOV-CNI: trueMULTUS-CNI: true K8s MASTER

API-SERVER

MUTUS-CNI

SRIOV-CNI

SRIOV-NIC

MUTUS-CNI

SRIOV-CNI

SRIOV-NIC

POD

Page 20: Datacenter Network Solutions Group - SYS-CON Mediares.cdn.sys-con.com/session/3478/Kuralamudhan_Ramakrishnan.pdf · KUBE-PROXY NODE 2 POD API-SERVER Open-source Platform for containerised

20Datacenter Network Solutions Group

Intel nfv Experience KITS addressing nfv USES IN KUBERNETES

Multi-network Support

Resource Isolation

Data Plane Support

Data Center Heterogeneity

Kubernetes Networking

EXISTING SOLUTIONS

Kubernetes Compute

MULTUSOpen Source Projects

Identified Gaps Integrate Build

Experience Topic

Experience Topic

SW

Best Practice GuidelinesIntel

Experience kits

SW ContributionsDemo Integration

SR-IOV CNI PLUGIN

DPDK CNI PLUGIN

Node Feature Discovery

VNF

NEW SOLUTIONS: WIP

Core pinningHugepages

RDT

Resource Management

Page 21: Datacenter Network Solutions Group - SYS-CON Mediares.cdn.sys-con.com/session/3478/Kuralamudhan_Ramakrishnan.pdf · KUBE-PROXY NODE 2 POD API-SERVER Open-source Platform for containerised

21Datacenter Network Solutions Group

CALL to action• Talk to us about your NFV use cases in K8s

• Join K8s Network SIG and collaborate with us on Multi-network proposal

• Join K8s Resource Management SIG for performance sensitive NFV use cases

• Contribute and provide feedback for Intel Multus & SR-IOV CNI plugin

Page 22: Datacenter Network Solutions Group - SYS-CON Mediares.cdn.sys-con.com/session/3478/Kuralamudhan_Ramakrishnan.pdf · KUBE-PROXY NODE 2 POD API-SERVER Open-source Platform for containerised

22Datacenter Network Solutions Group

Talk to us For your containers Use case?

Email: [email protected]

Slack: https://intel-corp.herokuapp.com

Github: rkamudhan

Twitter: @kuralamudhan

Page 23: Datacenter Network Solutions Group - SYS-CON Mediares.cdn.sys-con.com/session/3478/Kuralamudhan_Ramakrishnan.pdf · KUBE-PROXY NODE 2 POD API-SERVER Open-source Platform for containerised

23Datacenter Network Solutions Group