SlideShare a Scribd company logo
Kubernetes
networkoverview
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
COSCUP2018
x
openSUSE.Asia GNOME.Asia
Outline
What network functions about k8s
How does above function implement
What is the challenge about k8s
COSCUP2018
x
openSUSE.Asia GNOME.Asia
What network function kubernetes
providers?
COSCUP2018
x
openSUSE.Asia GNOME.Asia
What
Container Network
○ Connectivity
○ DNS
Kubernetes services
COSCUP2018
x
openSUSE.Asia GNOME.Asia
Do You Know How Container Works?
COSCUP2018
x
openSUSE.Asia GNOME.Asia
Containersvs.VMs
Containers are isolated, but share OS
and where appropriate bins/libraries
COSCUP2018
x
openSUSE.Asia GNOME.Asia
HowDockerWorks
We know docker is isolated, but how
does it works?
Linux kernel support the Namespaces
mechanisms to partition kernel
resources to different processes
COSCUP2018
x
openSUSE.Asia GNOME.Asia
HowDockerWorks
Mount namespaces
IPC namespaces
PID namespaces
Network namespaces
User namespaces
UTS namespaces
○ Unix Time System
COSCUP2018
x
openSUSE.Asia GNOME.Asia
NetworkNamespace
Isolate the network functions.
Including the
○ Network interfaces
○ Routing rules
○ Netfilter (iptables)
COSCUP2018
x
openSUSE.Asia GNOME.Asia
Linux Host
COSCUP2018
x
openSUSE.Asia GNOME.Asia
docker0
Linux Host Linux Host
COSCUP2018
x
openSUSE.Asia GNOME.Asia
docker0 docker0
ns1
Linux Host Linux Host Linux Host
COSCUP2018
x
openSUSE.Asia GNOME.Asia
docker0 docker0
docker0
ns1
ns1
veth1
veth0
Linux Host Linux Host Linux Host
Linux Host
COSCUP2018
x
openSUSE.Asia GNOME.Asia
docker0 docker0
docker0docker0
ns1
ns1ns1
vth1
vth0
veth
eth0
Linux Host Linux Host Linux Host
Linux HostLinux Host
COSCUP2018
x
openSUSE.Asia GNOME.Asia
Before we talk about service, we must
know why service exist.
COSCUP2018
x
openSUSE.Asia GNOME.Asia
Pods/Deployments
We can deploy our applications as a
containers in the kubernetes.
There’re many kind of the container
we can deploy
○ Pod
○ Deployment
○ Statefulset
○ DaemonSet
COSCUP2018
x
openSUSE.Asia GNOME.Asia
Deployment
Node1
Nginx
Node2
Nginx
Node3
Nginx
Kubernetes Cluster
Deployment:
○ Ngnix
○ Replica: 3
10.123.234.56 10.123.234.57 10.123.234.58
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
What’s the problem
COSCUP2018
x
openSUSE.Asia GNOME.Asia
Deployment
Node1
Nginx
Node2
Nginx
Node3
Nginx
Kubernetes Cluster
Deployment:
○ Ngnix
○ Replica: 3
10.123.234.56 10.123.234.57 10.123.234.58
COSCUP2018
x
openSUSE.Asia GNOME.Asia
Deployment
Node1
Nginx
Node2
Nginx
Node3
Nginx
Kubernetes Cluster
Deployment:
○ Ngnix
○ Replica: 3
10.123.234.56 10.123.234.57 10.123.234.75
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.
COSCUP2018
x
openSUSE.Asia GNOME.Asia
The Service is used to solve this problem.
COSCUP2018
x
openSUSE.Asia GNOME.Asia
Service
Node1
Nginx
Node2
Nginx
Node3
Nginx
Kubernetes Cluster
10.123.234.56 10.123.234.57 10.123.234.58
App
Service Nginx
COSCUP2018
x
openSUSE.Asia GNOME.Asia
Service
Application to Service
○ We use the DNS to access the service.
○ $(service).$(namespace).cluster.local
Service to Pods
○ Service maintains all IP addresses of all
Pods.
○ We call it endpoints
COSCUP2018
x
openSUSE.Asia GNOME.Asia
Service
Node1
Nginx
Node2
Nginx
Node3
Nginx
Kubernetes Cluster
10.123.234.56 10.123.234.57 10.123.234.58
App
Service Nginx
nginx.default
endpoints
COSCUP2018
x
openSUSE.Asia GNOME.Asia
How does kubernetes implements those
functions?
COSCUP2018
x
openSUSE.Asia GNOME.Asia
What
Container Network Connectivity
○ Container Network Interface(CNI)
Kubernetes Services
○ There’re many implementation we can
choose
COSCUP2018
x
openSUSE.Asia GNOME.Asia
ContainerNetworkInterface
COSCUP2018
x
openSUSE.Asia GNOME.Asia
ContainerNetworkInterface
Cloud Native Computing Foundation
Project
Consists of a specification and
libraries.
Configure network interfaces in Linux
containers
Concerns itself only with network
connectivity of containers
○ Create/Remove
COSCUP2018
x
openSUSE.Asia GNOME.Asia
ContainerNetworkInterface
Removing allocated resources when
the container is deleted
COSCUP2018
x
openSUSE.Asia GNOME.Asia
Who is using CNI?
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
COSCUP2018
x
openSUSE.Asia GNOME.Asia
So, How to use the CNI?
COSCUP2018
x
openSUSE.Asia GNOME.Asia
StepbyStep
Create a kubernetes cluster
Setup your CNI plugin
Deploy your first Pod
COSCUP2018
x
openSUSE.Asia GNOME.Asia
Just follow the installation to install the
kubernetes
COSCUP2018
x
openSUSE.Asia GNOME.Asia
How do we install the CNI?
COSCUP2018
x
openSUSE.Asia GNOME.Asia
COSCUP2018
x
openSUSE.Asia GNOME.Asia
Handbyhand
In the kubelet, we have the following
parameters for CNI.
--cni-bin-dir
○ /opt/cni/bin
--cni-conf-dir
○ /etc/cni/net.d/
We should config the CNI for every
k8s nodes.
COSCUP2018
x
openSUSE.Asia GNOME.Asia
COSCUP2018
x
openSUSE.Asia GNOME.Asia
Let Deploy a Pod
COSCUP2018
x
openSUSE.Asia GNOME.Asia
Beforewestart
Pod
○ A collection of containers
COSCUP2018
x
openSUSE.Asia GNOME.Asia
Steps
Load the Pod config
○ Multiple containers
Find a node to deploy the pod
Create a Pause container
COSCUP2018
x
openSUSE.Asia GNOME.Asia
Linux Host
Pause
Container
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
COSCUP2018
x
openSUSE.Asia GNOME.Asia
Linux Host
Pause
Container
Load the CNI config from /etc/cni/net.d/…
COSCUP2018
x
openSUSE.Asia GNOME.Asia
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
COSCUP2018
x
openSUSE.Asia GNOME.Asia
Callthebinary
Load the binary from the config
Find the binary from the /opt/cni/bin/
COSCUP2018
x
openSUSE.Asia GNOME.Asia
Linux Host
Pause
Container
Call the /opt/cni/bin/flannel
Network
Connectivity
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
COSCUP2018
x
openSUSE.Asia GNOME.Asia
Linux Host
Pause
Container
Call the /opt/cni/bin/flannel
Network
Connectivity
Busybox
COSCUP2018
x
openSUSE.Asia GNOME.Asia
Attachtoothercontainer
docker run –net=…
○ bridge
○ host
○ containerID
COSCUP2018
x
openSUSE.Asia GNOME.Asia
Linux Host
Pause
Container
Call the /opt/cni/bin/flannel
Network
Connectivity
Busybox
Pod
COSCUP2018
x
openSUSE.Asia GNOME.Asia
COSCUP2018
x
openSUSE.Asia GNOME.Asia
Kubernetesservice
There’re three implementation now.
○ User-space Kube-Proxy
○ Kernel-space iptables (default)
○ Kernel-space ipvs
We use the iptables to explain how
service(ClusterIP) works
COSCUP2018
x
openSUSE.Asia GNOME.Asia
Service
Node1
Nginx
Node2
Nginx
Node3
Nginx
Kubernetes Cluster
10.123.234.56 10.123.234.57 10.123.234.58
App
Service Nginx
nginx.default
endpoints
COSCUP2018
x
openSUSE.Asia GNOME.Asia
LAB
Get the Service
○ kubectl get service
COSCUP2018
x
openSUSE.Asia GNOME.Asia
LAB
Get the endpoints
○ kubectl get endpoints
COSCUP2018
x
openSUSE.Asia GNOME.Asia
LAB
Get the pod ip address
○ kubectl get pods –o wide
COSCUP2018
x
openSUSE.Asia GNOME.Asia
Now.Trytofetchthenginx
Service name is k8s-nginx-cluster
Use the nslookup to lookup the IP
○ nslookup k8s-nginx-cluster
○ nslookup k8s-nginx-cluster.default
■ default is the namespace of the service
COSCUP2018
x
openSUSE.Asia GNOME.Asia
COSCUP2018
x
openSUSE.Asia GNOME.Asia
Trytofetchthenginx
In the pod: curl k8s-nginx-cluster
COSCUP2018
x
openSUSE.Asia GNOME.Asia
Howitworks?
First, we can get the VIP from the
hostname.
○ It’s just a DNS request.
Second, we can access the nginx from
that VIP address.
○ iptables!!
COSCUP2018
x
openSUSE.Asia GNOME.Asia
Lte’swatchtheiptables
First, we can use the service name to
filter the iptables rules.
sudo iptables-save | grep ”k8s-
nginx-cluster”
COSCUP2018
x
openSUSE.Asia GNOME.Asia
Lte’swatchtheiptables
Remember? There’re three endpoints
for the service now.
COSCUP2018
x
openSUSE.Asia GNOME.Asia
workflowsPackets
Packets
Packets
Match Services’
ClusterIP
Find the
endpoints
DNAT
KUBE-SERVICES
KUBE-SVC-XXXX
KUBE-SEP-XXXX
Enter iptables PREROUTING
Jump to other chain Jump to other chain
Jump to other chain
COSCUP2018
x
openSUSE.Asia GNOME.Asia
Howdowechoosewhichonetouse?
When we match the clusterIP:Port,
goto another custom chain.
○ 10.105.100.214:80
COSCUP2018
x
openSUSE.Asia GNOME.Asia
Howdowechoosewhichonetouse?
Use the random to choose what
endpoint we use.
COSCUP2018
x
openSUSE.Asia GNOME.Asia
EP1 EP2 EP3
P < 0.33
P < 0.5
EP1
EP2 EP3
P= 1/3
P= 2/3 * 1/2
= 1/3
P= 2/3 * 1/2
= 1/3
COSCUP2018
x
openSUSE.Asia GNOME.Asia
EP1 EP2 EP3
P < 0.2
P < 0.25
EP1
EP2
EP3
EP4 EP5
P < 0.33
P < 0.5
EP4 EP5
P = 0.2
P = 4/5 * 1/4
= 1/5
P = 4/5 * 3/4 * 1/3
= 1/5
P = 4/5 * 3/4 * 2/3 * 1/2
= 1/5
P = 4/5 * 3/4 * 2/3 * 1/2
= 1/5
COSCUP2018
x
openSUSE.Asia GNOME.Asia
Howdowechoosewhichonetouse?
K8S create a custom chain for each
endpoints.
First rule is a SNAT
○ The Ngnix want to access outside.
Second is DNAT
○ Change the IP to one of the endpoints
COSCUP2018
x
openSUSE.Asia GNOME.Asia
Now, We Know The Basic Function Of
Kubernetes Network.
COSCUP2018
x
openSUSE.Asia GNOME.Asia
What is the next step of kubernetes
network
COSCUP2018
x
openSUSE.Asia GNOME.Asia
challenges
For different use cases
○ 5G/NFV/IoT
Network features
○ High performance
○ Low latency
Network infrastructure
○ Multiple network
■ Separate the data/control network.
COSCUP2018
x
openSUSE.Asia GNOME.Asia
Networkfeaturesc
We use the hardware/smart NIC for
those requirements before.
We also have some mechanism in the
software.
○ DPDK
○ SR-IOV
○ …
○ etc
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
COSCUP2018
x
openSUSE.Asia GNOME.Asia
How integrate those with kubernetes?
COSCUP2018
x
openSUSE.Asia GNOME.Asia
CNI
We use some CNI for those functions.
Intel had developed the CNI for those
functions.
○ Call sriov-cni
○ https://github.com/intel/sriov-cni
COSCUP2018
x
openSUSE.Asia GNOME.Asia
Node1 Node2 Node3
PodA PodA PodA PodB PodA PodB
Flannel
(Control Network)
br0 br0 br0
Data Network
(192.168.0.0/16)
COSCUP2018
x
openSUSE.Asia GNOME.Asia
Problem
For those container using the
DPDK/SR-IOV, it can’t use any
kubernetes service now.
Since the network function is handled
by DPDK/SR-IOV now.
How to solve this?
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.
COSCUP2018
x
openSUSE.Asia GNOME.Asia
Pod
Container
eth0
Pod
Container eth0
eth1
eth2
Previous What Multus Provide
COSCUP2018
x
openSUSE.Asia GNOME.Asia
,
,
You need to create first
COSCUP2018
x
openSUSE.Asia GNOME.Asia
Node1 Node2 Node3
PodA PodA PodA PodB PodA PodB
Flannel
(Control Network)
br0 br0 br0
Data Network
(192.168.0.0/16)
Data Network
(10.56.10/24)
COSCUP2018
x
openSUSE.Asia GNOME.Asia
Node1 Node2 Node3
PodA PodA PodA PodB PodA PodB
Flannel
(Control Network)
br0 br0 br0
Data Network
(192.168.0.0/16)
Data Network
(10.56.10/24)
COSCUP2018
x
openSUSE.Asia GNOME.Asia
Node1 Node2 Node3
PodA PodA PodA PodB PodA PodB
Flannel
(Control Network)
br0 br0 br0
Data Network
(192.168.0.0/16)
Data Network
(10.56.10/24)
COSCUP2018
x
openSUSE.Asia GNOME.Asia
Node1 Node2 Node3
PodA PodA PodA PodB PodA PodB
Flannel
(Control Network)
br0 br0 br0
Data Network
(192.168.0.0/16)
Data Network
(10.56.10/24)
COSCUP2018
x
openSUSE.Asia GNOME.Asia
Q&A

More Related Content

PDF
Deploying IPv6 on OpenStack
PPSX
FD.io Vector Packet Processing (VPP)
PDF
Writing the Container Network Interface(CNI) plugin in golang
PPTX
Introduction to CNI (Container Network Interface)
PDF
GTPing, How To
PDF
Scale Kubernetes to support 50000 services
PDF
DPDK: Multi Architecture High Performance Packet Processing
PDF
Using GTP on Linux with libgtpnl
Deploying IPv6 on OpenStack
FD.io Vector Packet Processing (VPP)
Writing the Container Network Interface(CNI) plugin in golang
Introduction to CNI (Container Network Interface)
GTPing, How To
Scale Kubernetes to support 50000 services
DPDK: Multi Architecture High Performance Packet Processing
Using GTP on Linux with libgtpnl

What's hot (20)

PDF
Kubernetes Introduction
PPTX
Understanding DPDK
PDF
Kubernetes
PPTX
Docker Networking with New Ipvlan and Macvlan Drivers
PPTX
The Basic Introduction of Open vSwitch
PPTX
OVN - Basics and deep dive
PDF
分散ストレージソフトウェアCeph・アーキテクチャー概要
PDF
Linux Linux Traffic Control
PDF
Open vSwitch 패킷 처리 구조
PDF
DPDK In Depth
PDF
Open shift 4 infra deep dive
PPTX
Building Multi-Site and Multi-OpenStack Cloud with OpenStack Cascading
PDF
IP Virtual Server(IPVS) 101
PDF
Optimizing Kubernetes Resource Requests/Limits for Cost-Efficiency and Latenc...
PDF
Container Network Interface: Network Plugins for Kubernetes and beyond
PPTX
Ceph アーキテクチャ概説
PPTX
Docker Networking Overview
PPTX
Understanding kube proxy in ipvs mode
PDF
P4, EPBF, and Linux TC Offload
PDF
Large scale overlay networks with ovn: problems and solutions
Kubernetes Introduction
Understanding DPDK
Kubernetes
Docker Networking with New Ipvlan and Macvlan Drivers
The Basic Introduction of Open vSwitch
OVN - Basics and deep dive
分散ストレージソフトウェアCeph・アーキテクチャー概要
Linux Linux Traffic Control
Open vSwitch 패킷 처리 구조
DPDK In Depth
Open shift 4 infra deep dive
Building Multi-Site and Multi-OpenStack Cloud with OpenStack Cascading
IP Virtual Server(IPVS) 101
Optimizing Kubernetes Resource Requests/Limits for Cost-Efficiency and Latenc...
Container Network Interface: Network Plugins for Kubernetes and beyond
Ceph アーキテクチャ概説
Docker Networking Overview
Understanding kube proxy in ipvs mode
P4, EPBF, and Linux TC Offload
Large scale overlay networks with ovn: problems and solutions
Ad

Similar to Overview of kubernetes network functions (20)

PDF
Packet walks in_kubernetes-v4
PPTX
Secure Your Containers: What Network Admins Should Know When Moving Into Prod...
PDF
Demystfying container-networking
PDF
ACM_Intro_Containers_Cloud.pdf Cloud.pdf
PDF
Kubernetes Networking 101 kubecon EU 2022
PDF
Kubernetes Networking
PDF
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
PDF
Networking in Kubernetes
PPTX
KuberNETes - meetup
PPTX
Networking in Docker Containers
PDF
Container network security
PDF
4. CNCF kubernetes Comparison of-existing-cni-plugins-for-kubernetes
PPTX
Comparison of existing cni plugins for kubernetes
PDF
Getting started with kubernetes
PDF
Kubernetes Architecture and Introduction – Paris Kubernetes Meetup
PDF
Container Networking Deep Dive
PDF
Collabnix Online Webinar - Demystifying Docker & Kubernetes Networking by Bal...
PDF
Kubernetes
PDF
How to build a Kubernetes networking solution from scratch
PDF
99cloud Docker Training module 2
Packet walks in_kubernetes-v4
Secure Your Containers: What Network Admins Should Know When Moving Into Prod...
Demystfying container-networking
ACM_Intro_Containers_Cloud.pdf Cloud.pdf
Kubernetes Networking 101 kubecon EU 2022
Kubernetes Networking
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
Networking in Kubernetes
KuberNETes - meetup
Networking in Docker Containers
Container network security
4. CNCF kubernetes Comparison of-existing-cni-plugins-for-kubernetes
Comparison of existing cni plugins for kubernetes
Getting started with kubernetes
Kubernetes Architecture and Introduction – Paris Kubernetes Meetup
Container Networking Deep Dive
Collabnix Online Webinar - Demystifying Docker & Kubernetes Networking by Bal...
Kubernetes
How to build a Kubernetes networking solution from scratch
99cloud Docker Training module 2
Ad

More from HungWei Chiu (20)

PDF
Learn O11y from Grafana ecosystem.
PDF
Learned from KIND
PDF
Debug Your Kubernetes Network
PDF
以 eBPF 構建一個更為堅韌的 Kubernetes 叢集
PDF
Learning how AWS implement AWS VPC CNI
PDF
Jenkins & IaC
PDF
The relationship between Docker, Kubernetes and CRI
PDF
PDF
Introduction to CRI and OCI
PDF
Opentracing 101
PDF
iptables and Kubernetes
PDF
IPTABLES Introduction
PDF
Open vSwitch Introduction
PDF
Load Balancing 101
PDF
How Networking works with Data Science
PDF
Introduction to CircleCI
PDF
Head First to Container&Kubernetes
PDF
Kubernetes 1001
PDF
Application-Based Routing
PDF
Build Your Own CaaS (Container as a Service)
Learn O11y from Grafana ecosystem.
Learned from KIND
Debug Your Kubernetes Network
以 eBPF 構建一個更為堅韌的 Kubernetes 叢集
Learning how AWS implement AWS VPC CNI
Jenkins & IaC
The relationship between Docker, Kubernetes and CRI
Introduction to CRI and OCI
Opentracing 101
iptables and Kubernetes
IPTABLES Introduction
Open vSwitch Introduction
Load Balancing 101
How Networking works with Data Science
Introduction to CircleCI
Head First to Container&Kubernetes
Kubernetes 1001
Application-Based Routing
Build Your Own CaaS (Container as a Service)

Recently uploaded (20)

PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
cuic standard and advanced reporting.pdf
PDF
CIFDAQ's Market Wrap: Ethereum Leads, Bitcoin Lags, Institutions Shift
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
PPTX
breach-and-attack-simulation-cybersecurity-india-chennai-defenderrabbit-2025....
PPTX
Comunidade Salesforce São Paulo - Desmistificando o Omnistudio (Vlocity)
PPT
Teaching material agriculture food technology
PPTX
Cloud computing and distributed systems.
PDF
Electronic commerce courselecture one. Pdf
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
madgavkar20181017ppt McKinsey Presentation.pdf
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
AI And Its Effect On The Evolving IT Sector In Australia - Elevate
PDF
Empathic Computing: Creating Shared Understanding
PDF
Chapter 2 Digital Image Fundamentals.pdf
PDF
Sensors and Actuators in IoT Systems using pdf
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
HCSP-Presales-Campus Network Planning and Design V1.0 Training Material-Witho...
Understanding_Digital_Forensics_Presentation.pptx
Per capita expenditure prediction using model stacking based on satellite ima...
cuic standard and advanced reporting.pdf
CIFDAQ's Market Wrap: Ethereum Leads, Bitcoin Lags, Institutions Shift
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
breach-and-attack-simulation-cybersecurity-india-chennai-defenderrabbit-2025....
Comunidade Salesforce São Paulo - Desmistificando o Omnistudio (Vlocity)
Teaching material agriculture food technology
Cloud computing and distributed systems.
Electronic commerce courselecture one. Pdf
Spectral efficient network and resource selection model in 5G networks
madgavkar20181017ppt McKinsey Presentation.pdf
20250228 LYD VKU AI Blended-Learning.pptx
Dropbox Q2 2025 Financial Results & Investor Presentation
AI And Its Effect On The Evolving IT Sector In Australia - Elevate
Empathic Computing: Creating Shared Understanding
Chapter 2 Digital Image Fundamentals.pdf
Sensors and Actuators in IoT Systems using pdf
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
HCSP-Presales-Campus Network Planning and Design V1.0 Training Material-Witho...

Overview of kubernetes network functions