SlideShare ist ein Scribd-Unternehmen logo
1 von 22
Downloaden Sie, um offline zu lesen
Simplify Networking for Containers
叶磊 曹水
华为 中央软件院 云网络实验室
2
The Nature of Container Network
3
cloud native and containerised micro-services
high density/
dynamic
complex deployment
scenarios
online monitoring
and control
E2E Monitoring
VM Containers
Public
Cloud
Private
Cloud
L2/L3 Overlay Tunnel
SLA (Application to
Application)
more applications and micro services
are deployed in containers
4
deployment complexity
public clouds:
AWS/Azure/HEC
NFV: SR-
IOV/L2/L3
private clouds:
openstack/vmware/
baremetal
simpleflatcontainer
networkmodel:CNI
complexdeployment
scenarios
5
deployment complexity
public clouds:
AWS/Azure/HEC
NFV: SR-
IOV/L2/L3
private clouds:
openstack/vmware/
baremetal
simpleflatcontainer
networkmodel:CNI
complexdeployment
scenarios
existing solutions are
suitable for limited cases
with hard-coded “plugins”
require a flexible solution that
always adapts the best technology
based on specific situation
6
Neutron
Kuryr
Bare
mental
Traditional OS
Socket
OpenStack
Backend
TCP/IP
Stack
Container
OS
Socket
TCP/IP
Stack
vSwitch
OVERLAY
NICs
Driver
Underlay
vRouter
Underlay
Kuryr
OVERLAY
Cloud Provider
XEN
KVM
IRONIC
Container OS
Socket
vNIC
DRIVER
TCP/IP
Stack
Container OS
Socket
vNIC
DRIVER
TCP/IP
Stack
Container OS
NIC
DRIVER
Network
Stack (Iaas)
vSwitch
OVERLAY
VPC
vRouter
vSwitch
OVERLAY
vSwitch
OVERLAY
Traditional
OS
Socket
TCP/IP
Stack
Bridge
OVS L2
OVERLAY OVERLAY OVERLAY
Socket
TCP/IP
Stack
SND
backend
HostGW
SuSE12
Socket
Native
Driver
TCP/IP
Stack
Bridge
OVS L2
OVERLAY
Container
OS
L2
Bare
mental
Bare
mental
Hetero
OS
Pass
through
Contain
erOS
DPDK
API
VF
DPDK
PMD
Containe
rOS
DPDK
API
vNIC
DPDK
PMD
VF
DPDK
PMD
VF PassThrough
OVERLAY L2
Container
OS
DPDK
API
vNIC
DPDK
PMD
VF
DPDK
PMD
Cloud
Provider
Bare mental
OVERLAY
Container
OS
Socket
TCP/IP
Stack
vSwitch
OVERLAY
NICs
Driver
L2
Container
OS
vSwitch
OVERLAY
NICs
Driver
Bare Mental Host
Socket
TCP/IP
Stack
vSwitch
L2
NICs
Driver
Socket
TCP/IP
Stack
vSwitch
OVERLAY
vSwitch
L2
Public
Cloud
Private
Cloud
How we deal with so many scenarios for
containers?
7
Kernel Network Stack
vNIC
@Container
vNIC
@Container
vNIC
@Container
Function
feature
Rich, identical to
Kernel
Performance Normal
Compatibility Very good
Customized Network Stack
Customized
Socket Lib
Customized
Socket Lib
Customized
Socket Lib
Function
feature
Normal, according
to Customized Stack
Performance Good, about 3 times
than Kenel
Compatibility Normal, maybe miss
some socket function
DPDK PMD
DPDK
DPDK Client
@ Container
Function
feature
Poor, according to
DPDK application
Performance Very good, identical
to wire speed
Compatibility Poor, only DPDK ENV
DPDK
DPDK Client
@ Container
DPDK
DPDK Client
@ Container
Why we need so many models
8
Our solution: iCAN (intelligent Container
Network)
an extensible framework to
•program various container network data path and
policies
•adapt to different orchestrators
•support end-to-end SLA between containerised
applications
9
iCAN architecture
kubernetes master
iCAN SLA schd ext.
iCAN master
SLA-annotated
policy
etcd
Standard Netwok
Component (SNC)
models
node
iCAN agent
kubernets agent
iCAN monitor
master
node
node
iCAN agent
kubernets agent
node
iCAN agent
kubernets agent
SNC
configurations
monitoring
report
aggregated
report
aggregated
report
aggregated
report
10
CNI Interface Extension
br-intX
Node
PodX
Eth0
br-intY
PodY
Eth1
PhyNet1
PhyNet2
PaaS
①CNI ADD
{
"cniVersion": "0.2.0",
"name": "IDM-M",
"type": "bridge-veth",
// type (plugin) specific
"vlanID": 42,
"ipam": {
"type": "dhcp",
"routes": [ { "dst": "10.3.0.0/16" }, { "dst": "10.4.0.0/16" } ]
}
// args may be ignored by plugins
"args": {
"labels" : {
" phynet " : " Phy_Net1"
}
}
}
{
"cniVersion": "0.2.0",
"name": "IDM-M",
"type": "bridge-veth",
// type (plugin) specific
"vlanID": 42,
"ipam": {
"type": "dhcp",
"routes": [ { "dst": "10.3.0.0/16" }, { "dst": "10.4.0.0/16" } ]
}
// args may be ignored by plugins
"args": {
"labels" : {
" phynet " : " Phy_Net1"
}
}
}
{
"cniVersion": "0.2.0",
"name": "IDM-C",
"type": "bridge-veth",
// type (plugin) specific
"vlanID": 43,
"ipam": {
"type": "dhcp",
"routes": [ { "dst": "10.3.0.0/16" }, { "dst": "10.4.0.0/16" } ]
}
// args may be ignored by plugins
"args": {
"labels" : {
" phynet " : " Phy_Net2"
}
}
}
①CNI ADD
②CNI Network Configuration
②CNI Network Configuration
Once with one ticket Once with multi ticket
1) Parameters on CNI Network Configuration ,
support Once or Multi entry;
2) Reuse the CNI’s common agreement, all
customized fields within ”args” segment;
11
Standard Network Component (SNC) model
abstract for network components in data-path
• interfaces, devices and templates
L2 device
l2 interface
L2 devices:
bridge/macvlan/ovs/…
L3 device
l3 interface
L3 devices:
router/ipvlan/…
L2 dev:linux bridge
L3 dev: IPS
a template for Flannel
data path
l3 interface
l2 paired
interface
l2 interface
l2 paired
interface
12
Unified Framework For Multi Models
Container
MNG
Flannel Plugin Calico Plugin ……
Linux BR
Kernel
VxLAN
Kernel Route
Kernel Route
PGP Route
Sync
Linux BR
Kernel
Route
Container
MNG
Canal Plugin
Linux BR
Kernel VxLAN
Kernel Route
Kernel Route
PGP Route
Sync
GRE Tunnel
IPIP
Tunnel
Flannel Type Calico Type SR-IOV type
User
Stack
SR-IVO
Through
● Existing every Plugins only support its own model
● Though they employ common data module, the
function is isolated
● After deconstruct different data path , we setup a DSL
language to describe them ,using abstracted standard
component
● Unified Framework with Pluggable drivers for additional
vSwitches, Linux BR, SR-IOV, ...
13
Big Pic of Multi-modes && Multi-planes
PHY-NET
PHY-OM PHY-MNG PHY-DATA
NIC NIC
NIC NIC NIC NIC NIC NIC NIC NIC
NICNIC
DPDK
PMD
User
vSwitch
User
Stack
@Host
Container
User
Socket Lib
Container
User
Socket Lib
bonding
DPDK
PMD
User
vSwitch
User
Stack
@Host
Process
APP
Container
User
Socket Lib
Container
User
Socket Lib
Container
DPDK
APP
UIO UIO
DPDK
PMD
Container
DPDK
APP
UIO UIO
DPDK
PMDvSwitch
Container
Kernel
Stack
bonding
Process
APPvSwitch
Container
Kernel
Stack
14
Open stack Neutron Ml2 Solution
Neutron Server
ML2
Plugin
Host A
Linuxbridge
Agent
Host B
Hyper-V
Agent
Host C
Open vSwitch
Agent
Host D
Open vSwitch
Agent
API Network
Neutron Server
ML2
Plugin
Host A
Modular
Agent
Host B
Modular
Agent
Host C
Modular
Agent
Host D
Modular
Agent
API Network
● Existing ML2 Plugin works with existing agents
● Separate agents for Linuxbridge, Open vSwitch,
and Hyper-V
● Combine Open Source Agents, a single agent which can
support Linuxbridge and Open vSwitch
● Pluggable drivers for additional vSwitches, Infiniband, SR-
IOV, ...
15
iCAN Control Plane Integrated with Openstack
Local
Node
Kuberlet
CANAL
Agent
C C C C C C
CANAL Master
Distributed
KV store
(etcd)
Kubernetes
Master
Monitoring
controller
SLA Manager
IPAM
Neutron
controller
Openstack
Neutron Server
Kuryr Agent
Control
Node
Neutron
controller
16
Monitoring based SNC Modeling
pDev
pPort
pIF
pDev
pPort
pIF
vDev
vPort
vIF
pIF
vPort
vIF
vPort
C1
vIF
C2
vIF
vDev
vPort
vIF
pIF
vPort
C3
vIF
•E2E Monitoring
Point Monitor Item
Source Dest
T1
T4
T2
T3
Latency = ((T4 - T1) - (T3 - T2)) / 2
Monitoring on local SNC components :
Latency:
Generate E2E monitoring data in master node:
Monitorin
g Agent
Monitorin
g Agent
… …
Monitoring
Master
•E2Ethrought:minimal throughput
•E2E Drop rate: deviations between RX
and TX
•Throughput Analysis:data from local
node
 Bandwidth
 Throughput
 Status
 QoS
 CPU utilization
17
Simplify Network SLA modeling
 iCAN provides north bound interfaces for orchestration and applications to define their requirements through PG(Pod Group: a group of pods with
the same functions), Linking (network requirement between PG) , SLA Service types and Service LB Type.
 Given topology and link bandwidth, evaluate the offers when deploying pods. Essentially a evaluation for pod placement, and validate the
deployment.
 2-Tiers Network topology management Underlay Network(Stable and Predictable) and Overlay Network (Customizable and Dynamic)
 Support: bandwidth, latency and drop rate
 Bandwidth <5%
 Latency <10%, more non-deterministic, affected by many factors such as queuing in software switch and hardware, application response,
server IO, etc
Web
Web
DB
DB
Web
Internet
10Mbps (x3)
5Mbps (x6)
Web
Web
DB
DBInternet
10Mbps (x2)
Latency: Low
User 1
User 2
Polices Deployment
Scheduler
validation
Convert link requirement
to node requirement
18
iCAN Container networking
Multi-dimension SLA& Security
Performance Isolation with bandwidth, latency, drop rate(Proactive Network SLA and
Reactive Network SLA )
Security Isolation: VLAN/VXLAN, ACL
Rich Network Support
Powerful network component modeling : SNC and Modeling via Yang
Rich network schemes, support L2, Overlay, NAT, VLAN, L3, BGP, VPC
Accelerated Network Stack
Powerful Monitoring
Implement “monitoring on-demand ”and “E-to-E monitoring” based on the topology
Facilitate on-demand DSL based troubleshooting
Cooperate with the SLA subsystem to assess the SLA quality
Copyright©2016 Huawei Technologies Co., Ltd. All Rights Reserved.
The information in this document may contain predictive statements including, without
limitation, statements regarding the future financial and operating results, future product
portfolio, new technology, etc. There are a number of factors that could cause actual
results and developments to differ materially from those expressed or implied in the
predictive statements. Therefore, such information is provided for reference purpose
only and constitutes neither an offer nor an acceptance. Huawei may change the
information at any time without notice.
Thank You.
20
SNC Template Execution Workflow
❶ Network-Agent Local initialized
base on Node Network Pool
Configuration and Network Capability
Strategy, generate Node Network
Capability Configuration(NNCC) .
❷ Node received template
deployment request, check NNCC. If
node can’t meet requirement, return
failure, otherwise will return Network
Configuration Deployment Template
(NCDT) with information ❸;
❹After, send network deployment
request to Network-Element as NCDT
defined, Finally executed by related
network driver;
Linux-
Bridge
Node NetworkPool
Configuration
Name Location
Linux-
Bridge
Host
Linux-
Bridge
Container
IP-Filter Host
OVS Host
NetworkCapability
Strategy
Cap-
Name
Reques
t
Priority
-Index
GRE Linux-
Bridge;
GRE-Ko;
IP-Filter
0
GRE OVS;
IP-Filter
1
VxLAN OVS;
IP-Filter
0
VxLan EVS;IP-
Filter
1
L2-
DHCP
Dnsmas
q;Linux-
Bridge;
0
Cap-
Name
Locati
on
Priorit
y-
Index
GRE Conta
iner
1
GRE Host 1
L2-
DHCP
Host 0
Node Network
Capability
Configuration
NetworkConfiguration DeployTemplate
Resource Parameter
Bridge @Host,VxLan-cap,GRE-cap…….
GRE-Tunnel @Container…….
NetworkConfigurationTemplate
Resource Deploy-with Parameter
Bridge OVS @Host,VxLan-
cap,GRE-
cap…….
GRE-Tunnel GRE-Ko @Container…….
Internal-Link IP-Filter veth
Bridge Linux-Bridge @Container…
Resource Driver-
func
Bridge Create();Del
ete();Config
ure()…..
OVS
Resource Driver-
func
Bridge Create();Del
ete();Config
ure()…..
GRE-
Tunneel
Create();Del
ete();Config
ure()…
IP-
Filter
Resource Driver-
func
Internal-
Link
Create();Del
ete();Config
ure()…..
❷
❸
❹ ❹
❶
❹
21
Modeling for Standard Network Component
Standard Network Component can help to :
Decouple network control with implementation
Replace and upgrade network components seperately
 Provide on-demanding network solution and SLA for application
L3: IPVLAN
L3_IF L3_IF L3_IF
L2_IF
IPVLAN SNC: L3_IF
L3_DEV
L2_IF
L2: MACVLAN
L3_IF L3_IF L3_IF
L2_IF
MACVLAN SNC:L3_IF
L2_DEV
L2_IF
L2-dev
Paired-IF Paired-IF Paired-IF
IFD/IPA
L3: IPS
L3_IF
CALICO SNC:
Paired-IF
L2_DEV
L3_DEV
L3_IF
22
Example: Support with Flannel(VxLAN backend mode)via SNC
Modeling (kernel based Overlay)
== Operating abstraction:
- CreateSubnet() -- get subnet information via etcd API
- L2:SW.CreateDevice() => "l2_sw_dev"
- L2:SW.CreatePort(port_L)
- L2:SW.CreatePort(port_R)
- Overlay:Flannel.CreateDevice() => "flannel_dev"
- Overlay:Flannel.Connect(flannel_dev.inf_L,
l2_sw_dev.port_R)
- Overlay:Flannel.Connect(flannel_dev.inf_R, eth0)
- Link:vNIC-pair.CreateDevice() => "link_dev"
- Link:vNIC-pair.Connect(link_dev.inf_R, l2_sw_dev.port_L)
L2-Device:
vSwitch
Overlay:
flannel
Link-Device:
vNIC-pair
Flannel Template:
Port_L Port_R
SNC interfaces: /* L2:SW device definition */
{
/* members */
string port[];
/* methods */
CreateDevice(); // creat L2:SW device
CreatePort(string port_name);
}
/* Overlay:Flannel device definition */
{
/* members */
string inf_L;
string inf_R;
/* methods */
CreateDevice();
Connect(string inf, string port);
}
/* Link:VNIC-pair device definition */
{
/* members */
string inf_L;
string inf_R;
/* methods */
CreateDevice();
Connect(string inf, string port)
}
Page 12 模板化实例

Weitere ähnliche Inhalte

Was ist angesagt?

Docker Multi Host Networking, Rachit Arora, IBM
Docker Multi Host Networking, Rachit Arora, IBMDocker Multi Host Networking, Rachit Arora, IBM
Docker Multi Host Networking, Rachit Arora, IBMNeependra Khare
 
Rebuild - Simplifying Embedded and IoT Development Using Linux Containers
Rebuild - Simplifying Embedded and IoT Development Using Linux ContainersRebuild - Simplifying Embedded and IoT Development Using Linux Containers
Rebuild - Simplifying Embedded and IoT Development Using Linux ContainersLinuxCon ContainerCon CloudOpen China
 
Docker Networking – Running multi-host applications
Docker Networking – Running multi-host applicationsDocker Networking – Running multi-host applications
Docker Networking – Running multi-host applicationsChristina Rasimus
 
IP Virtual Server(IPVS) 101
IP Virtual Server(IPVS) 101IP Virtual Server(IPVS) 101
IP Virtual Server(IPVS) 101HungWei Chiu
 
Container Orchestration from Theory to Practice
Container Orchestration from Theory to PracticeContainer Orchestration from Theory to Practice
Container Orchestration from Theory to PracticeDocker, Inc.
 
Is there still room for innovation in container orchestration and scheduling
Is there still room for innovation in container orchestration and scheduling Is there still room for innovation in container orchestration and scheduling
Is there still room for innovation in container orchestration and scheduling LinuxCon ContainerCon CloudOpen China
 
Open vSwitch Introduction
Open vSwitch IntroductionOpen vSwitch Introduction
Open vSwitch IntroductionHungWei Chiu
 
Kubernetes Networking
Kubernetes NetworkingKubernetes Networking
Kubernetes NetworkingCJ Cullen
 
IPTABLES Introduction
IPTABLES IntroductionIPTABLES Introduction
IPTABLES IntroductionHungWei Chiu
 
Open v switch20150410b
Open v switch20150410bOpen v switch20150410b
Open v switch20150410bRichard Kuo
 
High performace network of Cloud Native Taiwan User Group
High performace network of Cloud Native Taiwan User GroupHigh performace network of Cloud Native Taiwan User Group
High performace network of Cloud Native Taiwan User GroupHungWei Chiu
 
Load Balancing 101
Load Balancing 101Load Balancing 101
Load Balancing 101HungWei Chiu
 
Control Your Network ASICs, What Benefits switchdev Can Bring Us
Control Your Network ASICs, What Benefits switchdev Can Bring UsControl Your Network ASICs, What Benefits switchdev Can Bring Us
Control Your Network ASICs, What Benefits switchdev Can Bring UsHungWei Chiu
 
Network plugins for kubernetes
Network plugins for kubernetesNetwork plugins for kubernetes
Network plugins for kubernetesinwin stack
 
Docker Meetup: Docker Networking 1.11, by Madhu Venugopal
Docker Meetup: Docker Networking 1.11, by Madhu VenugopalDocker Meetup: Docker Networking 1.11, by Madhu Venugopal
Docker Meetup: Docker Networking 1.11, by Madhu VenugopalMichelle Antebi
 

Was ist angesagt? (20)

OCI Support in Mesos
OCI Support in MesosOCI Support in Mesos
OCI Support in Mesos
 
Unikernelized Linux
Unikernelized LinuxUnikernelized Linux
Unikernelized Linux
 
The Open vSwitch and OVN Projects
The Open vSwitch and OVN ProjectsThe Open vSwitch and OVN Projects
The Open vSwitch and OVN Projects
 
Docker Multi Host Networking, Rachit Arora, IBM
Docker Multi Host Networking, Rachit Arora, IBMDocker Multi Host Networking, Rachit Arora, IBM
Docker Multi Host Networking, Rachit Arora, IBM
 
Make Accelerator Pluggable for Container Engine
Make Accelerator Pluggable for Container EngineMake Accelerator Pluggable for Container Engine
Make Accelerator Pluggable for Container Engine
 
Rebuild - Simplifying Embedded and IoT Development Using Linux Containers
Rebuild - Simplifying Embedded and IoT Development Using Linux ContainersRebuild - Simplifying Embedded and IoT Development Using Linux Containers
Rebuild - Simplifying Embedded and IoT Development Using Linux Containers
 
Introduction to OCI Image Technologies Serving Container
Introduction to OCI Image Technologies Serving ContainerIntroduction to OCI Image Technologies Serving Container
Introduction to OCI Image Technologies Serving Container
 
Docker Networking – Running multi-host applications
Docker Networking – Running multi-host applicationsDocker Networking – Running multi-host applications
Docker Networking – Running multi-host applications
 
IP Virtual Server(IPVS) 101
IP Virtual Server(IPVS) 101IP Virtual Server(IPVS) 101
IP Virtual Server(IPVS) 101
 
Container Orchestration from Theory to Practice
Container Orchestration from Theory to PracticeContainer Orchestration from Theory to Practice
Container Orchestration from Theory to Practice
 
Is there still room for innovation in container orchestration and scheduling
Is there still room for innovation in container orchestration and scheduling Is there still room for innovation in container orchestration and scheduling
Is there still room for innovation in container orchestration and scheduling
 
Open vSwitch Introduction
Open vSwitch IntroductionOpen vSwitch Introduction
Open vSwitch Introduction
 
Kubernetes Networking
Kubernetes NetworkingKubernetes Networking
Kubernetes Networking
 
IPTABLES Introduction
IPTABLES IntroductionIPTABLES Introduction
IPTABLES Introduction
 
Open v switch20150410b
Open v switch20150410bOpen v switch20150410b
Open v switch20150410b
 
High performace network of Cloud Native Taiwan User Group
High performace network of Cloud Native Taiwan User GroupHigh performace network of Cloud Native Taiwan User Group
High performace network of Cloud Native Taiwan User Group
 
Load Balancing 101
Load Balancing 101Load Balancing 101
Load Balancing 101
 
Control Your Network ASICs, What Benefits switchdev Can Bring Us
Control Your Network ASICs, What Benefits switchdev Can Bring UsControl Your Network ASICs, What Benefits switchdev Can Bring Us
Control Your Network ASICs, What Benefits switchdev Can Bring Us
 
Network plugins for kubernetes
Network plugins for kubernetesNetwork plugins for kubernetes
Network plugins for kubernetes
 
Docker Meetup: Docker Networking 1.11, by Madhu Venugopal
Docker Meetup: Docker Networking 1.11, by Madhu VenugopalDocker Meetup: Docker Networking 1.11, by Madhu Venugopal
Docker Meetup: Docker Networking 1.11, by Madhu Venugopal
 

Andere mochten auch

点融网区块链即服务实践 - The Practice of Blockchain as a Service in Dianrong
点融网区块链即服务实践 - The Practice of Blockchain as a Service in Dianrong点融网区块链即服务实践 - The Practice of Blockchain as a Service in Dianrong
点融网区块链即服务实践 - The Practice of Blockchain as a Service in DianrongLinuxCon ContainerCon CloudOpen China
 
High Performance Linux Virtual Machine on Microsoft Azure: SR-IOV Networking ...
High Performance Linux Virtual Machine on Microsoft Azure: SR-IOV Networking ...High Performance Linux Virtual Machine on Microsoft Azure: SR-IOV Networking ...
High Performance Linux Virtual Machine on Microsoft Azure: SR-IOV Networking ...LinuxCon ContainerCon CloudOpen China
 

Andere mochten auch (18)

Hyperledger Technical Community in China.
Hyperledger Technical Community in China. Hyperledger Technical Community in China.
Hyperledger Technical Community in China.
 
Linuxcon secureefficientcontainerimagemanagementharbor
Linuxcon secureefficientcontainerimagemanagementharborLinuxcon secureefficientcontainerimagemanagementharbor
Linuxcon secureefficientcontainerimagemanagementharbor
 
OpenDaylight OpenStack Integration
OpenDaylight OpenStack IntegrationOpenDaylight OpenStack Integration
OpenDaylight OpenStack Integration
 
点融网区块链即服务实践 - The Practice of Blockchain as a Service in Dianrong
点融网区块链即服务实践 - The Practice of Blockchain as a Service in Dianrong点融网区块链即服务实践 - The Practice of Blockchain as a Service in Dianrong
点融网区块链即服务实践 - The Practice of Blockchain as a Service in Dianrong
 
Practical CNI
Practical CNIPractical CNI
Practical CNI
 
kdump: usage and_internals
kdump: usage and_internalskdump: usage and_internals
kdump: usage and_internals
 
Releasing a Distribution in the Age of DevOps.
Releasing a Distribution in the Age of DevOps. Releasing a Distribution in the Age of DevOps.
Releasing a Distribution in the Age of DevOps.
 
High Performance Linux Virtual Machine on Microsoft Azure: SR-IOV Networking ...
High Performance Linux Virtual Machine on Microsoft Azure: SR-IOV Networking ...High Performance Linux Virtual Machine on Microsoft Azure: SR-IOV Networking ...
High Performance Linux Virtual Machine on Microsoft Azure: SR-IOV Networking ...
 
SecurityPI - Hardening your IoT endpoints in Home.
SecurityPI - Hardening your IoT endpoints in Home. SecurityPI - Hardening your IoT endpoints in Home.
SecurityPI - Hardening your IoT endpoints in Home.
 
Build Robust Blockchain Services with Hyperledger and Containers
Build Robust Blockchain Services with Hyperledger and ContainersBuild Robust Blockchain Services with Hyperledger and Containers
Build Robust Blockchain Services with Hyperledger and Containers
 
There is NO Open Source Business Model
There is NO Open Source Business ModelThere is NO Open Source Business Model
There is NO Open Source Business Model
 
Fully automated kubernetes deployment and management
Fully automated kubernetes deployment and managementFully automated kubernetes deployment and management
Fully automated kubernetes deployment and management
 
Container Security
Container SecurityContainer Security
Container Security
 
Get a Taste of 1 k+ Nodes by a Handful of Servers
Get a Taste of 1 k+ Nodes by a Handful of Servers Get a Taste of 1 k+ Nodes by a Handful of Servers
Get a Taste of 1 k+ Nodes by a Handful of Servers
 
Quickly Debug VM Failures in OpenStack
Quickly Debug VM Failures in OpenStackQuickly Debug VM Failures in OpenStack
Quickly Debug VM Failures in OpenStack
 
How Open Source Communities do Standardization
How Open Source Communities do StandardizationHow Open Source Communities do Standardization
How Open Source Communities do Standardization
 
Open Source Software Business Models Redux
Open Source Software Business Models ReduxOpen Source Software Business Models Redux
Open Source Software Business Models Redux
 
From Resilient to Antifragile Chaos Engineering Primer
From Resilient to Antifragile Chaos Engineering PrimerFrom Resilient to Antifragile Chaos Engineering Primer
From Resilient to Antifragile Chaos Engineering Primer
 

Ähnlich wie Simplify Networking for Containers

BKK16-409 VOSY Switch Port to ARMv8 Platforms and ODP Integration
BKK16-409 VOSY Switch Port to ARMv8 Platforms and ODP IntegrationBKK16-409 VOSY Switch Port to ARMv8 Platforms and ODP Integration
BKK16-409 VOSY Switch Port to ARMv8 Platforms and ODP IntegrationLinaro
 
Bridges and Tunnels a Drive Through OpenStack Networking
Bridges and Tunnels a Drive Through OpenStack NetworkingBridges and Tunnels a Drive Through OpenStack Networking
Bridges and Tunnels a Drive Through OpenStack Networkingmarkmcclain
 
Understanding network and service virtualization
Understanding network and service virtualizationUnderstanding network and service virtualization
Understanding network and service virtualizationSDN Hub
 
Summit 16: How to Compose a New OPNFV Solution Stack?
Summit 16: How to Compose a New OPNFV Solution Stack?Summit 16: How to Compose a New OPNFV Solution Stack?
Summit 16: How to Compose a New OPNFV Solution Stack?OPNFV
 
OpenStack 2012 fall summit observation - Quantum/SDN
OpenStack 2012 fall summit observation - Quantum/SDNOpenStack 2012 fall summit observation - Quantum/SDN
OpenStack 2012 fall summit observation - Quantum/SDNTe-Yen Liu
 
An Introduce of OPNFV (Open Platform for NFV)
An Introduce of OPNFV (Open Platform for NFV)An Introduce of OPNFV (Open Platform for NFV)
An Introduce of OPNFV (Open Platform for NFV)Mario Cho
 
OpenStack Networking and Automation
OpenStack Networking and AutomationOpenStack Networking and Automation
OpenStack Networking and AutomationAdam Johnson
 
Scaling the Container Dataplane
Scaling the Container Dataplane Scaling the Container Dataplane
Scaling the Container Dataplane Michelle Holley
 
SDN & NFV Introduction - Open Source Data Center Networking
SDN & NFV Introduction - Open Source Data Center NetworkingSDN & NFV Introduction - Open Source Data Center Networking
SDN & NFV Introduction - Open Source Data Center NetworkingThomas Graf
 
Network Virtualization & Software-defined Networking
Network Virtualization & Software-defined NetworkingNetwork Virtualization & Software-defined Networking
Network Virtualization & Software-defined NetworkingDigicomp Academy AG
 
Harmonia open iris_basic_v0.1
Harmonia open iris_basic_v0.1Harmonia open iris_basic_v0.1
Harmonia open iris_basic_v0.1Yongyoon Shin
 
OpenStack and OpenFlow Demos
OpenStack and OpenFlow DemosOpenStack and OpenFlow Demos
OpenStack and OpenFlow DemosBrent Salisbury
 
Building a sdn solution for the deployment of web application stacks in docker
Building a sdn solution for the deployment of web application stacks in dockerBuilding a sdn solution for the deployment of web application stacks in docker
Building a sdn solution for the deployment of web application stacks in dockerJorge Juan Mendoza
 
09 (IDNOG02) Services SDN & NFV Delivering more with less by Mochammad Irzan
09 (IDNOG02) Services SDN & NFV Delivering more with less by Mochammad Irzan09 (IDNOG02) Services SDN & NFV Delivering more with less by Mochammad Irzan
09 (IDNOG02) Services SDN & NFV Delivering more with less by Mochammad IrzanIndonesia Network Operators Group
 
OpenStack Paris Summit: Bridges and Tunnels: A Drive Through OpenStack Networ...
OpenStack Paris Summit: Bridges and Tunnels: A Drive Through OpenStack Networ...OpenStack Paris Summit: Bridges and Tunnels: A Drive Through OpenStack Networ...
OpenStack Paris Summit: Bridges and Tunnels: A Drive Through OpenStack Networ...markmcclain
 
Pushing Packets - How do the ML2 Mechanism Drivers Stack Up
Pushing Packets - How do the ML2 Mechanism Drivers Stack UpPushing Packets - How do the ML2 Mechanism Drivers Stack Up
Pushing Packets - How do the ML2 Mechanism Drivers Stack UpJames Denton
 
F5 OpenShift Workshop
F5 OpenShift WorkshopF5 OpenShift Workshop
F5 OpenShift WorkshopTyler Hatton
 
OpenFlow tutorial
OpenFlow tutorialOpenFlow tutorial
OpenFlow tutorialopenflow
 
OVHcloud Hosted Private Cloud Platform Network use cases with VMware NSX
OVHcloud Hosted Private Cloud Platform Network use cases with VMware NSXOVHcloud Hosted Private Cloud Platform Network use cases with VMware NSX
OVHcloud Hosted Private Cloud Platform Network use cases with VMware NSXOVHcloud
 
OpenStack Networking
OpenStack NetworkingOpenStack Networking
OpenStack NetworkingIlya Shakhat
 

Ähnlich wie Simplify Networking for Containers (20)

BKK16-409 VOSY Switch Port to ARMv8 Platforms and ODP Integration
BKK16-409 VOSY Switch Port to ARMv8 Platforms and ODP IntegrationBKK16-409 VOSY Switch Port to ARMv8 Platforms and ODP Integration
BKK16-409 VOSY Switch Port to ARMv8 Platforms and ODP Integration
 
Bridges and Tunnels a Drive Through OpenStack Networking
Bridges and Tunnels a Drive Through OpenStack NetworkingBridges and Tunnels a Drive Through OpenStack Networking
Bridges and Tunnels a Drive Through OpenStack Networking
 
Understanding network and service virtualization
Understanding network and service virtualizationUnderstanding network and service virtualization
Understanding network and service virtualization
 
Summit 16: How to Compose a New OPNFV Solution Stack?
Summit 16: How to Compose a New OPNFV Solution Stack?Summit 16: How to Compose a New OPNFV Solution Stack?
Summit 16: How to Compose a New OPNFV Solution Stack?
 
OpenStack 2012 fall summit observation - Quantum/SDN
OpenStack 2012 fall summit observation - Quantum/SDNOpenStack 2012 fall summit observation - Quantum/SDN
OpenStack 2012 fall summit observation - Quantum/SDN
 
An Introduce of OPNFV (Open Platform for NFV)
An Introduce of OPNFV (Open Platform for NFV)An Introduce of OPNFV (Open Platform for NFV)
An Introduce of OPNFV (Open Platform for NFV)
 
OpenStack Networking and Automation
OpenStack Networking and AutomationOpenStack Networking and Automation
OpenStack Networking and Automation
 
Scaling the Container Dataplane
Scaling the Container Dataplane Scaling the Container Dataplane
Scaling the Container Dataplane
 
SDN & NFV Introduction - Open Source Data Center Networking
SDN & NFV Introduction - Open Source Data Center NetworkingSDN & NFV Introduction - Open Source Data Center Networking
SDN & NFV Introduction - Open Source Data Center Networking
 
Network Virtualization & Software-defined Networking
Network Virtualization & Software-defined NetworkingNetwork Virtualization & Software-defined Networking
Network Virtualization & Software-defined Networking
 
Harmonia open iris_basic_v0.1
Harmonia open iris_basic_v0.1Harmonia open iris_basic_v0.1
Harmonia open iris_basic_v0.1
 
OpenStack and OpenFlow Demos
OpenStack and OpenFlow DemosOpenStack and OpenFlow Demos
OpenStack and OpenFlow Demos
 
Building a sdn solution for the deployment of web application stacks in docker
Building a sdn solution for the deployment of web application stacks in dockerBuilding a sdn solution for the deployment of web application stacks in docker
Building a sdn solution for the deployment of web application stacks in docker
 
09 (IDNOG02) Services SDN & NFV Delivering more with less by Mochammad Irzan
09 (IDNOG02) Services SDN & NFV Delivering more with less by Mochammad Irzan09 (IDNOG02) Services SDN & NFV Delivering more with less by Mochammad Irzan
09 (IDNOG02) Services SDN & NFV Delivering more with less by Mochammad Irzan
 
OpenStack Paris Summit: Bridges and Tunnels: A Drive Through OpenStack Networ...
OpenStack Paris Summit: Bridges and Tunnels: A Drive Through OpenStack Networ...OpenStack Paris Summit: Bridges and Tunnels: A Drive Through OpenStack Networ...
OpenStack Paris Summit: Bridges and Tunnels: A Drive Through OpenStack Networ...
 
Pushing Packets - How do the ML2 Mechanism Drivers Stack Up
Pushing Packets - How do the ML2 Mechanism Drivers Stack UpPushing Packets - How do the ML2 Mechanism Drivers Stack Up
Pushing Packets - How do the ML2 Mechanism Drivers Stack Up
 
F5 OpenShift Workshop
F5 OpenShift WorkshopF5 OpenShift Workshop
F5 OpenShift Workshop
 
OpenFlow tutorial
OpenFlow tutorialOpenFlow tutorial
OpenFlow tutorial
 
OVHcloud Hosted Private Cloud Platform Network use cases with VMware NSX
OVHcloud Hosted Private Cloud Platform Network use cases with VMware NSXOVHcloud Hosted Private Cloud Platform Network use cases with VMware NSX
OVHcloud Hosted Private Cloud Platform Network use cases with VMware NSX
 
OpenStack Networking
OpenStack NetworkingOpenStack Networking
OpenStack Networking
 

Mehr von LinuxCon ContainerCon CloudOpen China (10)

Status of Embedded Linux
Status of Embedded LinuxStatus of Embedded Linux
Status of Embedded Linux
 
Building a Better Thermostat
Building a Better ThermostatBuilding a Better Thermostat
Building a Better Thermostat
 
Flowchain: A case study on building a Blockchain for the IoT
Flowchain: A case study on building a Blockchain for the IoTFlowchain: A case study on building a Blockchain for the IoT
Flowchain: A case study on building a Blockchain for the IoT
 
OpenStack on AArch64
OpenStack on AArch64OpenStack on AArch64
OpenStack on AArch64
 
Policy-based Resource Placement
Policy-based Resource PlacementPolicy-based Resource Placement
Policy-based Resource Placement
 
See what happened with real time kvm when building real time cloud pezhang@re...
See what happened with real time kvm when building real time cloud pezhang@re...See what happened with real time kvm when building real time cloud pezhang@re...
See what happened with real time kvm when building real time cloud pezhang@re...
 
Libvirt API Certification
Libvirt API CertificationLibvirt API Certification
Libvirt API Certification
 
Obstacles & Solutions for Livepatch Support on ARM64 Architecture
Obstacles & Solutions for Livepatch Support on ARM64 ArchitectureObstacles & Solutions for Livepatch Support on ARM64 Architecture
Obstacles & Solutions for Livepatch Support on ARM64 Architecture
 
Rethinking the OS
Rethinking the OSRethinking the OS
Rethinking the OS
 
Zephyr: Creating a Best-of-Breed, Secure RTOS for IoT
Zephyr: Creating a Best-of-Breed, Secure RTOS for IoTZephyr: Creating a Best-of-Breed, Secure RTOS for IoT
Zephyr: Creating a Best-of-Breed, Secure RTOS for IoT
 

Kürzlich hochgeladen

Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 

Kürzlich hochgeladen (20)

Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 

Simplify Networking for Containers

  • 1. Simplify Networking for Containers 叶磊 曹水 华为 中央软件院 云网络实验室
  • 2. 2 The Nature of Container Network
  • 3. 3 cloud native and containerised micro-services high density/ dynamic complex deployment scenarios online monitoring and control E2E Monitoring VM Containers Public Cloud Private Cloud L2/L3 Overlay Tunnel SLA (Application to Application) more applications and micro services are deployed in containers
  • 4. 4 deployment complexity public clouds: AWS/Azure/HEC NFV: SR- IOV/L2/L3 private clouds: openstack/vmware/ baremetal simpleflatcontainer networkmodel:CNI complexdeployment scenarios
  • 5. 5 deployment complexity public clouds: AWS/Azure/HEC NFV: SR- IOV/L2/L3 private clouds: openstack/vmware/ baremetal simpleflatcontainer networkmodel:CNI complexdeployment scenarios existing solutions are suitable for limited cases with hard-coded “plugins” require a flexible solution that always adapts the best technology based on specific situation
  • 6. 6 Neutron Kuryr Bare mental Traditional OS Socket OpenStack Backend TCP/IP Stack Container OS Socket TCP/IP Stack vSwitch OVERLAY NICs Driver Underlay vRouter Underlay Kuryr OVERLAY Cloud Provider XEN KVM IRONIC Container OS Socket vNIC DRIVER TCP/IP Stack Container OS Socket vNIC DRIVER TCP/IP Stack Container OS NIC DRIVER Network Stack (Iaas) vSwitch OVERLAY VPC vRouter vSwitch OVERLAY vSwitch OVERLAY Traditional OS Socket TCP/IP Stack Bridge OVS L2 OVERLAY OVERLAY OVERLAY Socket TCP/IP Stack SND backend HostGW SuSE12 Socket Native Driver TCP/IP Stack Bridge OVS L2 OVERLAY Container OS L2 Bare mental Bare mental Hetero OS Pass through Contain erOS DPDK API VF DPDK PMD Containe rOS DPDK API vNIC DPDK PMD VF DPDK PMD VF PassThrough OVERLAY L2 Container OS DPDK API vNIC DPDK PMD VF DPDK PMD Cloud Provider Bare mental OVERLAY Container OS Socket TCP/IP Stack vSwitch OVERLAY NICs Driver L2 Container OS vSwitch OVERLAY NICs Driver Bare Mental Host Socket TCP/IP Stack vSwitch L2 NICs Driver Socket TCP/IP Stack vSwitch OVERLAY vSwitch L2 Public Cloud Private Cloud How we deal with so many scenarios for containers?
  • 7. 7 Kernel Network Stack vNIC @Container vNIC @Container vNIC @Container Function feature Rich, identical to Kernel Performance Normal Compatibility Very good Customized Network Stack Customized Socket Lib Customized Socket Lib Customized Socket Lib Function feature Normal, according to Customized Stack Performance Good, about 3 times than Kenel Compatibility Normal, maybe miss some socket function DPDK PMD DPDK DPDK Client @ Container Function feature Poor, according to DPDK application Performance Very good, identical to wire speed Compatibility Poor, only DPDK ENV DPDK DPDK Client @ Container DPDK DPDK Client @ Container Why we need so many models
  • 8. 8 Our solution: iCAN (intelligent Container Network) an extensible framework to •program various container network data path and policies •adapt to different orchestrators •support end-to-end SLA between containerised applications
  • 9. 9 iCAN architecture kubernetes master iCAN SLA schd ext. iCAN master SLA-annotated policy etcd Standard Netwok Component (SNC) models node iCAN agent kubernets agent iCAN monitor master node node iCAN agent kubernets agent node iCAN agent kubernets agent SNC configurations monitoring report aggregated report aggregated report aggregated report
  • 10. 10 CNI Interface Extension br-intX Node PodX Eth0 br-intY PodY Eth1 PhyNet1 PhyNet2 PaaS ①CNI ADD { "cniVersion": "0.2.0", "name": "IDM-M", "type": "bridge-veth", // type (plugin) specific "vlanID": 42, "ipam": { "type": "dhcp", "routes": [ { "dst": "10.3.0.0/16" }, { "dst": "10.4.0.0/16" } ] } // args may be ignored by plugins "args": { "labels" : { " phynet " : " Phy_Net1" } } } { "cniVersion": "0.2.0", "name": "IDM-M", "type": "bridge-veth", // type (plugin) specific "vlanID": 42, "ipam": { "type": "dhcp", "routes": [ { "dst": "10.3.0.0/16" }, { "dst": "10.4.0.0/16" } ] } // args may be ignored by plugins "args": { "labels" : { " phynet " : " Phy_Net1" } } } { "cniVersion": "0.2.0", "name": "IDM-C", "type": "bridge-veth", // type (plugin) specific "vlanID": 43, "ipam": { "type": "dhcp", "routes": [ { "dst": "10.3.0.0/16" }, { "dst": "10.4.0.0/16" } ] } // args may be ignored by plugins "args": { "labels" : { " phynet " : " Phy_Net2" } } } ①CNI ADD ②CNI Network Configuration ②CNI Network Configuration Once with one ticket Once with multi ticket 1) Parameters on CNI Network Configuration , support Once or Multi entry; 2) Reuse the CNI’s common agreement, all customized fields within ”args” segment;
  • 11. 11 Standard Network Component (SNC) model abstract for network components in data-path • interfaces, devices and templates L2 device l2 interface L2 devices: bridge/macvlan/ovs/… L3 device l3 interface L3 devices: router/ipvlan/… L2 dev:linux bridge L3 dev: IPS a template for Flannel data path l3 interface l2 paired interface l2 interface l2 paired interface
  • 12. 12 Unified Framework For Multi Models Container MNG Flannel Plugin Calico Plugin …… Linux BR Kernel VxLAN Kernel Route Kernel Route PGP Route Sync Linux BR Kernel Route Container MNG Canal Plugin Linux BR Kernel VxLAN Kernel Route Kernel Route PGP Route Sync GRE Tunnel IPIP Tunnel Flannel Type Calico Type SR-IOV type User Stack SR-IVO Through ● Existing every Plugins only support its own model ● Though they employ common data module, the function is isolated ● After deconstruct different data path , we setup a DSL language to describe them ,using abstracted standard component ● Unified Framework with Pluggable drivers for additional vSwitches, Linux BR, SR-IOV, ...
  • 13. 13 Big Pic of Multi-modes && Multi-planes PHY-NET PHY-OM PHY-MNG PHY-DATA NIC NIC NIC NIC NIC NIC NIC NIC NIC NIC NICNIC DPDK PMD User vSwitch User Stack @Host Container User Socket Lib Container User Socket Lib bonding DPDK PMD User vSwitch User Stack @Host Process APP Container User Socket Lib Container User Socket Lib Container DPDK APP UIO UIO DPDK PMD Container DPDK APP UIO UIO DPDK PMDvSwitch Container Kernel Stack bonding Process APPvSwitch Container Kernel Stack
  • 14. 14 Open stack Neutron Ml2 Solution Neutron Server ML2 Plugin Host A Linuxbridge Agent Host B Hyper-V Agent Host C Open vSwitch Agent Host D Open vSwitch Agent API Network Neutron Server ML2 Plugin Host A Modular Agent Host B Modular Agent Host C Modular Agent Host D Modular Agent API Network ● Existing ML2 Plugin works with existing agents ● Separate agents for Linuxbridge, Open vSwitch, and Hyper-V ● Combine Open Source Agents, a single agent which can support Linuxbridge and Open vSwitch ● Pluggable drivers for additional vSwitches, Infiniband, SR- IOV, ...
  • 15. 15 iCAN Control Plane Integrated with Openstack Local Node Kuberlet CANAL Agent C C C C C C CANAL Master Distributed KV store (etcd) Kubernetes Master Monitoring controller SLA Manager IPAM Neutron controller Openstack Neutron Server Kuryr Agent Control Node Neutron controller
  • 16. 16 Monitoring based SNC Modeling pDev pPort pIF pDev pPort pIF vDev vPort vIF pIF vPort vIF vPort C1 vIF C2 vIF vDev vPort vIF pIF vPort C3 vIF •E2E Monitoring Point Monitor Item Source Dest T1 T4 T2 T3 Latency = ((T4 - T1) - (T3 - T2)) / 2 Monitoring on local SNC components : Latency: Generate E2E monitoring data in master node: Monitorin g Agent Monitorin g Agent … … Monitoring Master •E2Ethrought:minimal throughput •E2E Drop rate: deviations between RX and TX •Throughput Analysis:data from local node  Bandwidth  Throughput  Status  QoS  CPU utilization
  • 17. 17 Simplify Network SLA modeling  iCAN provides north bound interfaces for orchestration and applications to define their requirements through PG(Pod Group: a group of pods with the same functions), Linking (network requirement between PG) , SLA Service types and Service LB Type.  Given topology and link bandwidth, evaluate the offers when deploying pods. Essentially a evaluation for pod placement, and validate the deployment.  2-Tiers Network topology management Underlay Network(Stable and Predictable) and Overlay Network (Customizable and Dynamic)  Support: bandwidth, latency and drop rate  Bandwidth <5%  Latency <10%, more non-deterministic, affected by many factors such as queuing in software switch and hardware, application response, server IO, etc Web Web DB DB Web Internet 10Mbps (x3) 5Mbps (x6) Web Web DB DBInternet 10Mbps (x2) Latency: Low User 1 User 2 Polices Deployment Scheduler validation Convert link requirement to node requirement
  • 18. 18 iCAN Container networking Multi-dimension SLA& Security Performance Isolation with bandwidth, latency, drop rate(Proactive Network SLA and Reactive Network SLA ) Security Isolation: VLAN/VXLAN, ACL Rich Network Support Powerful network component modeling : SNC and Modeling via Yang Rich network schemes, support L2, Overlay, NAT, VLAN, L3, BGP, VPC Accelerated Network Stack Powerful Monitoring Implement “monitoring on-demand ”and “E-to-E monitoring” based on the topology Facilitate on-demand DSL based troubleshooting Cooperate with the SLA subsystem to assess the SLA quality
  • 19. Copyright©2016 Huawei Technologies Co., Ltd. All Rights Reserved. The information in this document may contain predictive statements including, without limitation, statements regarding the future financial and operating results, future product portfolio, new technology, etc. There are a number of factors that could cause actual results and developments to differ materially from those expressed or implied in the predictive statements. Therefore, such information is provided for reference purpose only and constitutes neither an offer nor an acceptance. Huawei may change the information at any time without notice. Thank You.
  • 20. 20 SNC Template Execution Workflow ❶ Network-Agent Local initialized base on Node Network Pool Configuration and Network Capability Strategy, generate Node Network Capability Configuration(NNCC) . ❷ Node received template deployment request, check NNCC. If node can’t meet requirement, return failure, otherwise will return Network Configuration Deployment Template (NCDT) with information ❸; ❹After, send network deployment request to Network-Element as NCDT defined, Finally executed by related network driver; Linux- Bridge Node NetworkPool Configuration Name Location Linux- Bridge Host Linux- Bridge Container IP-Filter Host OVS Host NetworkCapability Strategy Cap- Name Reques t Priority -Index GRE Linux- Bridge; GRE-Ko; IP-Filter 0 GRE OVS; IP-Filter 1 VxLAN OVS; IP-Filter 0 VxLan EVS;IP- Filter 1 L2- DHCP Dnsmas q;Linux- Bridge; 0 Cap- Name Locati on Priorit y- Index GRE Conta iner 1 GRE Host 1 L2- DHCP Host 0 Node Network Capability Configuration NetworkConfiguration DeployTemplate Resource Parameter Bridge @Host,VxLan-cap,GRE-cap……. GRE-Tunnel @Container……. NetworkConfigurationTemplate Resource Deploy-with Parameter Bridge OVS @Host,VxLan- cap,GRE- cap……. GRE-Tunnel GRE-Ko @Container……. Internal-Link IP-Filter veth Bridge Linux-Bridge @Container… Resource Driver- func Bridge Create();Del ete();Config ure()….. OVS Resource Driver- func Bridge Create();Del ete();Config ure()….. GRE- Tunneel Create();Del ete();Config ure()… IP- Filter Resource Driver- func Internal- Link Create();Del ete();Config ure()….. ❷ ❸ ❹ ❹ ❶ ❹
  • 21. 21 Modeling for Standard Network Component Standard Network Component can help to : Decouple network control with implementation Replace and upgrade network components seperately  Provide on-demanding network solution and SLA for application L3: IPVLAN L3_IF L3_IF L3_IF L2_IF IPVLAN SNC: L3_IF L3_DEV L2_IF L2: MACVLAN L3_IF L3_IF L3_IF L2_IF MACVLAN SNC:L3_IF L2_DEV L2_IF L2-dev Paired-IF Paired-IF Paired-IF IFD/IPA L3: IPS L3_IF CALICO SNC: Paired-IF L2_DEV L3_DEV L3_IF
  • 22. 22 Example: Support with Flannel(VxLAN backend mode)via SNC Modeling (kernel based Overlay) == Operating abstraction: - CreateSubnet() -- get subnet information via etcd API - L2:SW.CreateDevice() => "l2_sw_dev" - L2:SW.CreatePort(port_L) - L2:SW.CreatePort(port_R) - Overlay:Flannel.CreateDevice() => "flannel_dev" - Overlay:Flannel.Connect(flannel_dev.inf_L, l2_sw_dev.port_R) - Overlay:Flannel.Connect(flannel_dev.inf_R, eth0) - Link:vNIC-pair.CreateDevice() => "link_dev" - Link:vNIC-pair.Connect(link_dev.inf_R, l2_sw_dev.port_L) L2-Device: vSwitch Overlay: flannel Link-Device: vNIC-pair Flannel Template: Port_L Port_R SNC interfaces: /* L2:SW device definition */ { /* members */ string port[]; /* methods */ CreateDevice(); // creat L2:SW device CreatePort(string port_name); } /* Overlay:Flannel device definition */ { /* members */ string inf_L; string inf_R; /* methods */ CreateDevice(); Connect(string inf, string port); } /* Link:VNIC-pair device definition */ { /* members */ string inf_L; string inf_R; /* methods */ CreateDevice(); Connect(string inf, string port) } Page 12 模板化实例