In this slides, I briefly introduce the network function in the kubernetes and explain how kubernetes implement them.
Those function includes the container network interface (CNI) and kubernetes service.
In the last, I introduce the multus CNI which is designed for multiple networks in the container and it's necessary in some use case, such as SDN/NFV/5G
2. COSCUP2018
x
openSUSE.Asia GNOME.Asia
I am Hung-Wei Chiu
Co-organizer of SDNDS-TW
Co-organizer of CNTUUG
I love
Linux Network/Kubernetes/SDN
You can find me at:
blog.hwchiu.com
22. COSCUP2018
x
openSUSE.Asia GNOME.Asia
Access
How we application access those
Nginx servers?
By IP address
○ 10.123.234.56:80
○ 10.123.234.57:80
○ 10.123.234.58:80
○ 10.123.234.75:80
It’s not easy for our application to
handle those ip-changed situation.
33. COSCUP2018
x
openSUSE.Asia GNOME.Asia
FromtheGITHUB
l rkt - container engine
l Kubernetes - a system to simplify container operations
l OpenShift - Kubernetes with additional enterprise
features
l Cloud Foundry - a platform for cloud applications
l Apache Mesos - a distributed systems kernel
l Amazon ECS - a highly scalable, high performance
container management service
51. COSCUP2018
x
openSUSE.Asia GNOME.Asia
Steps
Load the Pod config
○ Multiple containers
Find a node to deploy the pod
Create a Pause container
Load the CNI config
Execute the CNI
Create target containers and attach to
Pause container
77. COSCUP2018
x
openSUSE.Asia GNOME.Asia
Network Interface Card
Linux Kernel
Network Stack
Network Driver
Application
Network Interface Card
Linux Kernel
Network Stack
Network Driver
Application
Kernel Space
User Space
DPDK
82. COSCUP2018
x
openSUSE.Asia GNOME.Asia
Multus
There’s a discussion in the github
about that requirement.
Intel develop a CNI plugin to support
multiple network for a Pod.
○ It’s called Multus CNI
Multus call CNIs one by one.