SlideShare une entreprise Scribd logo
1  sur  51
Packet Walk(s) In
Kubernetes
Don Jayakody, Big Switch Networks
@techjaya
linkedin.com/in/jayakody
Find out more:
• Video walkthroughs of this presentation will be available:
• https://www.youtube.com/user/BigSwitchNetworks
• Repo for all the command outputs/PDF slides:
https://github.com/jayakody/ons-2019
• We are in the business of
“Abstracting Networks” (As one
Big Switch) using Open
Networking Hardware
About Big Switch
About
• Spent 4 years in Engineering
building our products. Now in
Technical Product
Management
About Me
Kubernetes:
Abstracted Compute Domain
Legacy Next-Gen
http://www.youtube.com/watch?v=HlAXp0-M6SY&t=0m43s
Why Not Abstract the Network?
• Namespace/Pods/CNIs?
• What’s that “Pause” Container really
do?
• Flannel: Intro / Packet Flows
• Exposing Services
Intro: K8S Networking
Agenda
• Architecture
• IP-IP Mode (Route formation / Pod-to-
pod communication / ARP Resolution/
Packet Flow)
• BGP Mode (Peering requirements/
Packet Flow)
Calico: Networking
• Architecture
• Overlay Network Mode
(Configuration/ Pod-to-pod
communication/ Datapath / ARP
Resolution/ Packet Flow)
• Direct Routing Mode
Cilium: Networking
• Linux kernel has 6 types of
namespaces: pid, net, mnt, uts, ipc, user
• Network namespaces provide a brand-new
network stack for all the processes within the
namespace
• That includes network interfaces, routing
tables and iptables rules
Namespaces
K8S Networking: Basics
eth0
namespace-1
eth0
namespace-2
veth1veth0
bridge
eth0root namespace
Node1
• Lowest common denominator in K8S. Pod is
comprised of one or more containers along with a
“pause” container
• Pause container act as the “parent” container for
other containers inside the pod. One of it’s primary
responsibilities is to bring up the network
namespace
• Great for the redundancy: Termination of other
containers do not result in termination of the
network namespace
Pods
K8S Networking: Basics
• Multiple ways to access pod
namespaces
• ‘kubectl exec --it'
• ‘docker exec --it’
• nsenter (“namespace enter”, let
you run commands that are
installed on the host but not on
the container)
Accessing Pod
Namespaces
K8S Networking: Basics
Both containers belong to the same pod => Same Network Namespace => same ’ip a’ output
• Interface between container runtime and network
implementation
• Network plugin implements the CNI spec. It takes
a container runtime and configure (attach/detach)
it to the network
• CNI plugin is an executable (in: /opt/cni/bin)
• When invoked it reads in a JSON config &
Environment Variables to get all the required
parameters to configure the container with the
network
Container Networking
Interface : CNI
K8S Networking: Basics Container
Runtime
CNI
Plugin
Container Networking Interface
Configures Networking
Credit:https://www.slideshare.net/weaveworks/introduction-to-the-container-network-interface-cni
• Node IP belongs to 2
different subnets:
25.25.25.0/24 &
35.35.35.0/24
• Gateway is configured with
.254 in the network for
each network segment
• Bond0 interface is created
by bonding two 10G
interfaces
Topology Info
Topology
bond0root
Node-121
25.25.25.121
bond0root
Node-122
35.35.35.122
• To make networking easier, Kubernetes does
away with port-mapping and assigns a unique IP
address to each pod
• If a host cannot get an entire subnet to itself things
get pretty complicated
• Flannel aims to solve this problem by creating an
overlay mesh network that provisions a subnet to
each server
Intro
Flannel
K8S
Flannel CNI Plugin
FlannelD
(VXLAN/UDP..)
Network
• “Flannel.1” Is the VXLAN
interface
• CNI0 is the bridge
Default Config
Flannel
bond0root
Node-121
25.25.25.121
bond0root
Node-122
35.35.35.122
cni0
flannel.1
cni0
flannel.1
Flannel
bond0root
Node-121
25.25.25.121
bond0root
Node-122
35.35.35.122
cni0
flannel.1
cni0
flannel.1
• Brought up 2 pods
Pod-to-Pod
Communication
eth0pod1
10.244.1.2
eth0pod2
10.244.2.2
veth-x veth-y
Flannel
bond0root
Node-121
25.25.25.121
bond0root
Node-122
35.35.35.122
cni0
flannel.1
cni0
flannel.1• VETH Interface with ”veth-”
got created on the root
namespace
• Other end is attached to
the pod namespace
Pod-to-Pod
Communication
eth0pod1
10.244.1.2
eth0pod2
10.244.2.2
veth-x veth-y
notice the index on veth.
eg: “eth0@if12” on pod1 ns corresponds to 12th interface on the root ns
Flannel
bond0root
Node-121
25.25.25.121
bond0root
Node-122
35.35.35.122
cni0
flannel.1
cni0
flannel.1
• ’cni0’ bridge is replying to
ARP requests from the pod
ARP Handling
eth0pod1
10.244.1.2
eth0pod2
10.244.2.2
veth-x veth-y
1
2
ARP Reply
Flannel
bond0root
Node-121
25.25.25.121
bond0root
Node-122
35.35.35.122
cni0
flannel.1
cni0
flannel.1
• Routing table lookup to
figure out where to send
the packet
Packet Flow
eth0pod1
10.244.1.2
eth0pod2
10.244.2.2
veth-x veth-y
1
2
Flannel
bond0root
Node-121
25.25.25.121
bond0root
Node-122
35.35.35.122
cni0
flannel.1
cni0
flannel.1
• Flannel.1 device does
VXLAN encap/decap
• Traffic from pod1 is going
through “flannel.1” device
before exiting
Packet Flow
eth0pod1
10.244.1.2
eth0pod2
10.244.2.2
veth-x veth-y
1
2
3
4
5
6 7
12
10
9
11
8
• The primary Calico agent that runs on each
machine that hosts endpoints.
• Responsible for programming routes and ACLs,
and anything else required on the host
Felix
Calico
• BGP Client: responsible of route distribution
• When Felix inserts routes into the Linux kernel
FIB, Bird will pick them up and distribute them to
the other nodes in the deployment
Bird
• Felix's primary responsibility is to program the
host's iptables and routes to provide the
connectivity to pods on that host.
• Bird is a BGP agent for Linux that is used to
exchange routing information between the hosts.
The routes that are programmed by Felix are
picked up by bird and distributed among the
cluster hosts
Architecture
Calico
eth0
pod1
eth1
pod2
veth1
cbr0
eth0
flannel
0
Node1
iptables
route
table
Bird
Felix
eth0
pod3
eth1
pod4
veth1
cbr0
eth0
flannel
0
Node2
iptables
route
table
Bird
Felix
*etcd/confd components are not shown for clarity
bond0
tunl0
root
Node-121
25.25.25.121
iptables
route table
bond0
tunl0
root
Node-122
35.35.35.122
iptables
route table
• Node-to-node mesh
• IP-IP encapsulation
Default
Configuration
Calico
bond0
tunl0
192.168.83.64
root
Node-121
25.25.25.121
iptables
route table
bond0
tunl0
192.168.243.0
root
Node-122
35.35.35.122
iptables
route table
• Default: Node Mesh with
IP-IP tunnel
• Route table has entries to
all the other tunl0
interfaces through other
node IPs
Default
Configuration
Route to the other node’s tunnel
Calico
“ipip” tunnel
• Default: Node Mesh with
IP-IP tunnel
• Route table has entries to
all the other tunl0
interfaces through other
node IPs
Default
Configuration
bond0
tunl0
root
Node-121
25.25.25.121
iptables
route table
bond0
tunl0
192.168.243.0
root
Node-122
35.35.35.122
iptables
route table
“ipip” tunnel
Route to the other node’s tunnel
Calico
bond0
tunl0
192.168.83.64
root
cali-x
eth0pod1
192.168.83.67
Node-121
25.25.25.121
iptables
route table
bond0
tunl0
192.168.243.0
root
cali-y
eth0pod2
192.168.243.2
Node-122
35.35.35.122
iptables
route table
• Brought up 2 pods
• “calicoctl get wep”
(”workloadendpoints”)
shows the endpoints in
calico end
Pod-to-Pod
Communication
veth interfacesCalico
eth0pod1
cali-x
bond0
tunl0
192.168.83.64
root
192.168.83.67
Node-121
25.25.25.121
iptables
route table
eth0pod2
cali-y
bond0
tunl0
192.168.243.0
root
192.168.243.2
Node-122
35.35.35.122
iptables
route table
• VETH Interface with “cali-
xxx” got created on the root
namespace
• Other end is attached to
the pod namespace
Pod-to-Pod
Communication
Calico
eth0pod1
cali-x
bond0
tunl0
192.168.83.64
root
192.168.83.67
Node-121
25.25.25.121
iptables
route table
eth0pod2
cali-y
bond0
tunl0
192.168.243.0
root
192.168.243.2
Node-122
35.35.35.122
iptables
route table
• How does ARP gets
resolved?
• pod1 & pod2 default route
is pointing to private IPv4
“169.254.1.1”
ARP Resolution
Calico
eth0pod1
cali-x
bond0
tunl0
192.168.83.64
root
192.168.83.67
Node-121
25.25.25.121
iptables
route table
eth0pod2
cali-y
bond0
tunl0
192.168.243.0
root
192.168.243.2
Node-122
35.35.35.122
iptables
route table
• Initiate ping from pod1-to
pod2
• ARP request is send to
default GW 169.254.1.1
• cali interface replies to
ARP request with it’s own
MAC
ARP Resolution
Calico
tcpdump on root veth
root veth is replying with its own MAC
Pinging from pod1 to pod21
2
3
1
ARP Reply
eth0pod1
cali-x
bond0
tunl0
192.168.83.64
root
192.168.83.67
Node-121
25.25.25.121
iptables
route table
eth0pod2
cali-y
bond0
tunl0
192.168.243.0
root
192.168.243.2
Node-122
35.35.35.122
iptables
route table
• Why “Cali-” VETH
Interfaces replies to the
ARP request?
• Reason: Proxy-ARP is
enabled on the veth
interface on root
namespace
• Network is only learning
the Node IP/MACs, not pod
macs
ARP Resolution
Calico
No pod-MAC/IPs will be learned on the network. Only
Node-IPs
Proxy ARP is enabled on Cali veth:
eth0pod1
cali-x
bond0
tunl0
192.168.83.64
root
192.168.83.67
Node-121
25.25.25.121
iptables
route table
eth0pod2
cali-y
bond0
tunl0
192.168.243.0
root
192.168.243.2
Node-122
35.35.35.122
iptables
route table
• After ARP Resolution
packet gets forwarded
according to the routing
table entries
• Packets will get
encapsulated via IP-IP
Packet
Forwarding
Calico
Notice the 2 IP headers: IP-IP protocl
Once the ARP is resolved, routing table rules kicks in
eth0pod1
cali-x
bond0
tunl0
192.168.83.64
root
192.168.83.67
Node-121
25.25.25.121
iptables
route table
eth0pod2
cali-y
bond0
tunl0
192.168.243.0
root
192.168.243.2
Node-122
35.35.35.122
iptables
route table
• After ARP Resolution
packet gets forwarded
according to the routing
table entries
• Packets will get
encapsulated via IP-IP
Packet
Forwarding
1
2
3
Calico
8
9
10
4
5 6
7
eth0pod1
cali-x
bond0
tunl0
192.168.83.64
root
192.168.83.67
Node-121
25.25.25.121
iptables
route table
eth0pod2
cali-y
bond0
tunl0
192.168.243.0
root
192.168.243.2
Node-122
35.35.35.122
iptables
route table
Packet
Forwarding in
the same host
cali-z
pod3
192.168.83.68
eth0 eth0
1 3
2
Calico
• /32 routes are present in
the routing table for all the
containers
• Packets get forwarded to
the appropriate calico veth
interface based on the
routing rules
bond0
tunl0
root
Node-121
25.25.25.121
iptables
route table
bond0
tunl0
root
Node-122
35.35.35.122
iptables
route table
• Disable IP-IP Mode
Non IP-IP
Calico
bond0
tunl0
root
Node-121
25.25.25.121
iptables
route table
bond0
tunl0
root
Node-122
35.35.35.122
iptables
route table
• Disable IP-IP Mode. tunl0
interface is not present
anymore
• Routes are pointing to the
bond0 interface
• Bring up 2 pods as before
Non IP-IP
❌ ❌
eth0pod1
192.168.83.69
cali-x
eth0pod2
cali-y
192.168.243.4
No more tunl0. Pod routes are directly pointing to bond0
Calico
bond0
tunl0
root
Node-121
25.25.25.121
iptables
route table
bond0
tunl0
root
Node-122
35.35.35.122
iptables
route table
• Ping from pod1 to pod2 is
unsuccessful
• Reason: Routes are not
advertised to the Network
Non IP-IP
❌ ❌
eth0pod1
192.168.83.69
cali-x
eth0pod2
cali-y
192.168.243.4
2
1
Calico
3
❓
Packets won’t go
Reason: No routes to the pod networks
• Need the Calico nodes to
peer with the network
fabric
BGP mode
Calico
bond0
tunl0
root
Node-121
25.25.25.121
iptables
route table
bond0
tunl0
root
Node-122
35.35.35.122
iptables
route table
❌ ❌
eth0pod1
192.168.83.69
cali-x
eth0pod2
cali-y
192.168.243.4
Bird Bird
• Create a global BGP
configuration
• Create the network as a
BGP Peer (**Assuming an
abstracted cloud network.
Config will vary depending
on vendor)
BGP Mode
Calico
bond0
tunl0
root
Node-121
25.25.25.121
iptables
route table
bond0
tunl0
root
Node-122
35.35.35.122
iptables
route table
❌ ❌
eth0pod1
192.168.83.69
cali-x
eth0pod2
cali-y
192.168.243.4
Create a BGP configuration with AS:63400 Create a ”global” BGP Peer
Both Nodes are peering with the global BGP Peer
• Configure the Calico nodes
as BGP Neighbors on the
network
• As a result network will get
to learn about
192.168.83.64/26 &
192.168.243.0/26 routes
BGP Mode
Calico
bond0
tunl0
root
Node-121
25.25.25.121
iptables
route table
bond0
tunl0
root
Node-122
35.35.35.122
iptables
route table
❌ ❌
eth0pod1
192.168.83.69
cali-x
eth0pod2
cali-y
192.168.243.4
Network is peering with both the Calico Nodes
Network is learning pod network routes via BGP
bond0root
Node-121
25.25.25.121
iptables
route table
bond0root
Node-122
35.35.35.122
iptables
route table
• Packets goes across the
network without any
encapsulations
BGP Mode
eth0pod1
192.168.83.69
cali-x
eth0pod2
cali-y
192.168.243.4
1
2
Calico
7
8
3
4
5
6
• Cilium Agent, Cilium CLI Client, CNI Plugin will be
running on every node
• Cilium agent compiles BPF programs and make
the kernel runs these programs at key points in the
network stack to have visibility and control over all
network traffic in/out of all containers
• Cilium interacts with the Linux kernel to install BPF
program which will then perform networking tasks
and implement security rules
Architecture
Cilium
eth0
pod1
eth1
pod2
veth1
cbr0
eth0
flannel
0
Node1
*etcd/monitor components are not shown for clarity
Cilium
Agent
BPF Program BPF Program
• All nodes form a mesh of tunnels using the UDP
based encapsulation protocols: VXLAN (default) or
Geneve
• Simple: Only requirement is cluster nodes should
be able to reach each other using IP/UDP
• Auto-configured: Kubernetes is being run with the-
”--allocate-node-cidrs” option, Cilium can form an
overlay network automatically without any
configuration by the user
Overlay Network Mode
Cilium: Networking
• In direct routing mode, Cilium will hand all packets
which are not addressed for another local endpoint
to the routing subsystem of the Linux kernel
• Packets will be routed as if a local process would
have emitted the packet
• Admins can use routing daemon such as Zebra,
Bird , BGPD. The routing protocols will announce
the node allocation prefix via the node’s IP to all
other nodes.
Direct/Native Routing Mode
bond0
cilium_vxlan
root
Node-121
25.25.25.121
bond0
cilium_vxlan
root
Node-122
35.35.35.122
• Overlay Networking Mode
• VXLAN encapsulation
• Both VETH/IPVLAN is
supported (Higher
Performance gains with
IPVLAN)
Default
Configuration
Cilium
cilium_host
192.168.1.1
cilium_health
cilium_net
cilium_host
192.168.2.1
cilium_health
cilium_net
bond0
cilium_vxlan
root
Node-121
25.25.25.121
bond0
cilium_vxlan
root
Node-122
35.35.35.122
• ”cilium_vxlan” interface is in
metadata mode. It can send &
receive on multiple addresses
• Cilium addressing model allows
to derive the node address from
each container address.
• This is also used to derive the
VTEP address, so you don’t
need to run a control plane
protocol to distribute these
addresses. All you need to have
are routes to make the node
addresses routable
Default
Configuration
Cilium
cilium_host
cilium_health
cilium_net
cilium_host
cilium_health
cilium_net
‘cilium_vxlan’ interface is in Metadata mode.
No IP assigned to this interface
cilium_host
192.168.1.1
cilium_host
192.168.2.1
bond0
cilium_vxlan
root
lxc-x
eth0pod1
192.168.1.231
Node-121
25.25.25.121
bond0
cilium_vxlan
root
lxc-y
eth0pod2
192.168.2.251
Node-122
35.35.35.122
• VETH Interface with “lxc-
xxx” got created on the root
namespace
• Other end is attached to
the pod namespace
Pod-to-Pod
Communication
Cilium
cilium_host
cilium_health
cilium_net
cilium_host
cilium_health
cilium_net
eth0pod1
lxc-x
bond0
cilium_vxlan
root
192.168.1.231
Node-121
25.25.25.121
eth0pod2
lxc-y
bond0
cilium_vxlan
root
192.168.2.251
Node-122
35.35.35.122
• Cilium datapath uses eBPF
hooks to load BPF programs
• XDP BPF hook is at the earliest
point possible in the networking
driver and triggers a run of the
BPF program upon packet
reception
• Traffic Control (TC) Hooks: BPF
programs are attached to the
TC Ingress hook of host side of
the VETH pair for monitoring &
enforcement
Datapath
Cilium
cilium_host
cilium_health
cilium_net
cilium_host
cilium_health
cilium_net
XDP Hooks
TC Ingress Hooks
eth0pod1
lxc-x
bond0
cilium_vxlan
root
192.168.1.231
Node-121
25.25.25.121
eth0pod2
lxc-y
bond0
cilium_vxlan
root
192.168.2.251
Node-122
35.35.35.122
• Default GW of the
container is pointing to the
IP of “cilium_host”
• BPF Program is installed to
reply to the ARP request
• LXC Interface MAC is used
for the ARP reply
ARP Resolution
Cilium
cilium_host
192.168.1.1
cilium_health
cilium_net
cilium_host
cilium_health
cilium_net
Default GW of the pod is pointing to
’cilium_host’ IP
BPF program is responding to the ARP with VETH’s (lxc-x) MAC
1
ARP Reply
eth0pod1
lxc-x
bond0
cilium_vxlan
root
192.168.1.231
Node-121
25.25.25.121
eth0pod2
lxc-y
bond0
cilium_vxlan
root
192.168.2.251
Node-122
35.35.35.122
• cilium_vxlan device does
VXLAN encap/decap
• Traffic from pod1 is going
through “cilium_vxlan”
device before exiting
Packet Flow
Cilium
cilium_health
cilium_net
cilium_host
cilium_health
cilium_net
1
2
3 8
9
10
4
5 6
7
cilium_host
eth0pod1
lxc-x
bond0root
192.168.1.231
Node-121
25.25.25.121
eth0pod2
lxc-y
bond0root
192.168.2.251
Node-122
35.35.35.122
• No VXLAN/GENEVE
overlays
• As an admin you are able
to run your own flavor of
routing daemon
(Bird/BGPD/Zebra etc) to
distribute routes
• You can make the Pod IP’s
routable as a result
Direct Routing
Cilium
cilium_host
cilium_health
cilium_net
cilium_host
cilium_health
cilium_net
Routing
Daemon
Routing
Daemon
Service
IP
Pod1 Pod2 Pod3
Kube
Proxy
• Pods are mortal
• Need a higher level
abstractions: Services
• “Service” in Kubernetes is
a conceptual concept.
Service is not a
process/daemon. Outside
networks doesn’t learn
Service IP addresses
• Implemented through Kube
Proxy with IPTables rules
Services
K8S Networking: Basics
Yes! Back to the Basics…
• If Services are an abstracted concept
without any meaning outside of the
K8S cluster how do we access?
Exposing Services
K8S Networking: Basics
• NodePort / LoadBalancer /
Ingress etc.
NodePort: Service is accessed via ‘NodeIP:port’
Credit: https://medium.com/google-cloud/kubernetes-nodeport-vs-loadbalancer-vs-ingress-when-should-i-use-what-922f010849e0
• Load Balancer: Spins up a load
balancer and binds service IPs to
Load Balancer VIP
• Very common in public cloud
environments
• For baremetal workloads: ‘MetalLB’
(Up & coming project, load-balancer
implementation for bare
metal K8S clusters, using standard
routing protocols)
Exposing Services
K8S Networking: Basics LoadBalancer: Service is accessed via Loadbalancer
Credit: https://medium.com/google-cloud/kubernetes-nodeport-vs-loadbalancer-vs-ingress-when-should-i-use-what-922f010849e0
• Ingress: K8S Concept that lets you
decide how to let traffic into the cluster
• Sits in front of multiple services and
act as a ”router”
• Implemented through an ingress
controller (NGINX/HA Proxy)
Exposing Services
K8S Networking: Basics
Credit: https://medium.com/google-cloud/kubernetes-nodeport-vs-loadbalancer-vs-ingress-when-should-i-use-what-922f010849e0
• Ingress: Network (“Abstracted
Network”) can really help you out here
• Ingress controllers are deployed in
some of your “public” nodes in your
cluster
• Eg: Big Cloud Fabric (by Big
Switch), can expose a Virtual IP in
front of the Ingress Controllers and
perform Load Balancing/Health
Checks/Analytics
Exposing Services
K8S Networking: Basics
Virtual-IP
Kube-1862 Kube-1863
Thanks!
• Repo for all the command outputs/PDF slides:
https://github.com/jayakody/ons-2019
• Credits:
• Inspired by Life of a Packet- Michael Rubin, Google (https://www.youtube.com/watch?v=0Omvgd7Hg1I)
• Sarath Kumar, Prashanth Padubidry : Big Switch Engineering
• Thomas Graf, Dan Wendlandt: Isovalent (Cilium Project)
• Project Calico Slack Channel: special shout out to: Casey Davenport, Tigera
• And so many other folks who took time to share knowledge around this emerging space through different mediums
(Blogs/YouTube videos etc)

Contenu connexe

Tendances

Introduction to the Container Network Interface (CNI)
Introduction to the Container Network Interface (CNI)Introduction to the Container Network Interface (CNI)
Introduction to the Container Network Interface (CNI)Weaveworks
 
Replacing iptables with eBPF in Kubernetes with Cilium
Replacing iptables with eBPF in Kubernetes with CiliumReplacing iptables with eBPF in Kubernetes with Cilium
Replacing iptables with eBPF in Kubernetes with CiliumMichal Rostecki
 
DockerCon 2017 - Cilium - Network and Application Security with BPF and XDP
DockerCon 2017 - Cilium - Network and Application Security with BPF and XDPDockerCon 2017 - Cilium - Network and Application Security with BPF and XDP
DockerCon 2017 - Cilium - Network and Application Security with BPF and XDPThomas Graf
 
"OPEN NETWORKING" に向けた Management / Data Plane の動向
"OPEN NETWORKING" に向けた Management / Data Plane の動向"OPEN NETWORKING" に向けた Management / Data Plane の動向
"OPEN NETWORKING" に向けた Management / Data Plane の動向Kentaro Ebisawa
 
Linux Networking Explained
Linux Networking ExplainedLinux Networking Explained
Linux Networking ExplainedThomas Graf
 
Using GTP on Linux with libgtpnl
Using GTP on Linux with libgtpnlUsing GTP on Linux with libgtpnl
Using GTP on Linux with libgtpnlKentaro Ebisawa
 
Open vSwitch Introduction
Open vSwitch IntroductionOpen vSwitch Introduction
Open vSwitch IntroductionHungWei Chiu
 
Deep dive in container service discovery
Deep dive in container service discoveryDeep dive in container service discovery
Deep dive in container service discoveryDocker, Inc.
 
SR-IOV Networking in OpenStack - OpenStack最新情報セミナー 2016年3月
SR-IOV Networking in OpenStack - OpenStack最新情報セミナー 2016年3月SR-IOV Networking in OpenStack - OpenStack最新情報セミナー 2016年3月
SR-IOV Networking in OpenStack - OpenStack最新情報セミナー 2016年3月VirtualTech Japan Inc.
 
Kubernetes Networking
Kubernetes NetworkingKubernetes Networking
Kubernetes NetworkingCJ Cullen
 
Kubernetes Problem-Solving
Kubernetes Problem-SolvingKubernetes Problem-Solving
Kubernetes Problem-SolvingAll Things Open
 
Kubernetes Networking 101
Kubernetes Networking 101Kubernetes Networking 101
Kubernetes Networking 101Weaveworks
 
Cilium - Network security for microservices
Cilium - Network security for microservicesCilium - Network security for microservices
Cilium - Network security for microservicesThomas Graf
 
Using eBPF for High-Performance Networking in Cilium
Using eBPF for High-Performance Networking in CiliumUsing eBPF for High-Performance Networking in Cilium
Using eBPF for High-Performance Networking in CiliumScyllaDB
 
Cilium - Network and Application Security with BPF and XDP Thomas Graf, Cova...
Cilium - Network and Application Security with BPF and XDP  Thomas Graf, Cova...Cilium - Network and Application Security with BPF and XDP  Thomas Graf, Cova...
Cilium - Network and Application Security with BPF and XDP Thomas Graf, Cova...Docker, Inc.
 
BPF / XDP 8월 세미나 KossLab
BPF / XDP 8월 세미나 KossLabBPF / XDP 8월 세미나 KossLab
BPF / XDP 8월 세미나 KossLabTaeung Song
 
VXLAN and FRRouting
VXLAN and FRRoutingVXLAN and FRRouting
VXLAN and FRRoutingFaisal Reza
 
eBPF - Rethinking the Linux Kernel
eBPF - Rethinking the Linux KerneleBPF - Rethinking the Linux Kernel
eBPF - Rethinking the Linux KernelThomas Graf
 
Locking down your Kubernetes cluster with Linkerd
Locking down your Kubernetes cluster with LinkerdLocking down your Kubernetes cluster with Linkerd
Locking down your Kubernetes cluster with LinkerdBuoyant
 

Tendances (20)

Introduction to the Container Network Interface (CNI)
Introduction to the Container Network Interface (CNI)Introduction to the Container Network Interface (CNI)
Introduction to the Container Network Interface (CNI)
 
Replacing iptables with eBPF in Kubernetes with Cilium
Replacing iptables with eBPF in Kubernetes with CiliumReplacing iptables with eBPF in Kubernetes with Cilium
Replacing iptables with eBPF in Kubernetes with Cilium
 
DockerCon 2017 - Cilium - Network and Application Security with BPF and XDP
DockerCon 2017 - Cilium - Network and Application Security with BPF and XDPDockerCon 2017 - Cilium - Network and Application Security with BPF and XDP
DockerCon 2017 - Cilium - Network and Application Security with BPF and XDP
 
"OPEN NETWORKING" に向けた Management / Data Plane の動向
"OPEN NETWORKING" に向けた Management / Data Plane の動向"OPEN NETWORKING" に向けた Management / Data Plane の動向
"OPEN NETWORKING" に向けた Management / Data Plane の動向
 
Linux Networking Explained
Linux Networking ExplainedLinux Networking Explained
Linux Networking Explained
 
Using GTP on Linux with libgtpnl
Using GTP on Linux with libgtpnlUsing GTP on Linux with libgtpnl
Using GTP on Linux with libgtpnl
 
Open vSwitch Introduction
Open vSwitch IntroductionOpen vSwitch Introduction
Open vSwitch Introduction
 
Deep dive in container service discovery
Deep dive in container service discoveryDeep dive in container service discovery
Deep dive in container service discovery
 
SR-IOV Networking in OpenStack - OpenStack最新情報セミナー 2016年3月
SR-IOV Networking in OpenStack - OpenStack最新情報セミナー 2016年3月SR-IOV Networking in OpenStack - OpenStack最新情報セミナー 2016年3月
SR-IOV Networking in OpenStack - OpenStack最新情報セミナー 2016年3月
 
Kubernetes Networking
Kubernetes NetworkingKubernetes Networking
Kubernetes Networking
 
Kubernetes Problem-Solving
Kubernetes Problem-SolvingKubernetes Problem-Solving
Kubernetes Problem-Solving
 
Kubernetes Networking 101
Kubernetes Networking 101Kubernetes Networking 101
Kubernetes Networking 101
 
Cilium - Network security for microservices
Cilium - Network security for microservicesCilium - Network security for microservices
Cilium - Network security for microservices
 
Linux Network Stack
Linux Network StackLinux Network Stack
Linux Network Stack
 
Using eBPF for High-Performance Networking in Cilium
Using eBPF for High-Performance Networking in CiliumUsing eBPF for High-Performance Networking in Cilium
Using eBPF for High-Performance Networking in Cilium
 
Cilium - Network and Application Security with BPF and XDP Thomas Graf, Cova...
Cilium - Network and Application Security with BPF and XDP  Thomas Graf, Cova...Cilium - Network and Application Security with BPF and XDP  Thomas Graf, Cova...
Cilium - Network and Application Security with BPF and XDP Thomas Graf, Cova...
 
BPF / XDP 8월 세미나 KossLab
BPF / XDP 8월 세미나 KossLabBPF / XDP 8월 세미나 KossLab
BPF / XDP 8월 세미나 KossLab
 
VXLAN and FRRouting
VXLAN and FRRoutingVXLAN and FRRouting
VXLAN and FRRouting
 
eBPF - Rethinking the Linux Kernel
eBPF - Rethinking the Linux KerneleBPF - Rethinking the Linux Kernel
eBPF - Rethinking the Linux Kernel
 
Locking down your Kubernetes cluster with Linkerd
Locking down your Kubernetes cluster with LinkerdLocking down your Kubernetes cluster with Linkerd
Locking down your Kubernetes cluster with Linkerd
 

Similaire à Packet Walk(s) In Kubernetes

Packet walks in_kubernetes-v4
Packet walks in_kubernetes-v4Packet walks in_kubernetes-v4
Packet walks in_kubernetes-v4InfraEngineer
 
Learning how AWS implement AWS VPC CNI
Learning how AWS implement AWS VPC CNILearning how AWS implement AWS VPC CNI
Learning how AWS implement AWS VPC CNIHungWei Chiu
 
Automating auto-scaled load balancer based on linux and vm orchestrator
Automating auto-scaled load balancer based on linux and vm orchestratorAutomating auto-scaled load balancer based on linux and vm orchestrator
Automating auto-scaled load balancer based on linux and vm orchestratorAndrew Yongjoon Kong
 
Kubernetes networking
Kubernetes networkingKubernetes networking
Kubernetes networkingSim Janghoon
 
Tutorial on using CoreOS Flannel for Docker networking
Tutorial on using CoreOS Flannel for Docker networkingTutorial on using CoreOS Flannel for Docker networking
Tutorial on using CoreOS Flannel for Docker networkingLorisPack Project
 
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...Akihiro Suda
 
Nynog-K8s-networking-101.pptx
Nynog-K8s-networking-101.pptxNynog-K8s-networking-101.pptx
Nynog-K8s-networking-101.pptxDanielHertzberg4
 
How to build a Kubernetes networking solution from scratch
How to build a Kubernetes networking solution from scratchHow to build a Kubernetes networking solution from scratch
How to build a Kubernetes networking solution from scratchAll Things Open
 
KubeCon EU 2016: Secure, Cloud-Native Networking with Project Calico
KubeCon EU 2016: Secure, Cloud-Native Networking with Project CalicoKubeCon EU 2016: Secure, Cloud-Native Networking with Project Calico
KubeCon EU 2016: Secure, Cloud-Native Networking with Project CalicoKubeAcademy
 
CON411-R - Advanced network resource management on Amazon EKS
CON411-R - Advanced network resource management on Amazon EKSCON411-R - Advanced network resource management on Amazon EKS
CON411-R - Advanced network resource management on Amazon EKSClaes Mogren
 
Network plugins for kubernetes
Network plugins for kubernetesNetwork plugins for kubernetes
Network plugins for kubernetesinwin stack
 
Docker networking basics & coupling with Software Defined Networks
Docker networking basics & coupling with Software Defined NetworksDocker networking basics & coupling with Software Defined Networks
Docker networking basics & coupling with Software Defined NetworksAdrien Blind
 
Kubernetes networking - basics
Kubernetes networking - basicsKubernetes networking - basics
Kubernetes networking - basicsJuraj Hantak
 
Docker SDN (software-defined-networking) JUG
Docker SDN (software-defined-networking) JUGDocker SDN (software-defined-networking) JUG
Docker SDN (software-defined-networking) JUGPiotr Kieszczyński
 
Networking in Docker Containers
Networking in Docker ContainersNetworking in Docker Containers
Networking in Docker ContainersAttila Kanto
 
"One network to rule them all" - OpenStack Summit Austin 2016
"One network to rule them all" - OpenStack Summit Austin 2016"One network to rule them all" - OpenStack Summit Austin 2016
"One network to rule them all" - OpenStack Summit Austin 2016Phil Estes
 
Meetup docker using software defined networks
Meetup docker   using software defined networksMeetup docker   using software defined networks
Meetup docker using software defined networksOCTO Technology
 

Similaire à Packet Walk(s) In Kubernetes (20)

Packet walks in_kubernetes-v4
Packet walks in_kubernetes-v4Packet walks in_kubernetes-v4
Packet walks in_kubernetes-v4
 
Learning how AWS implement AWS VPC CNI
Learning how AWS implement AWS VPC CNILearning how AWS implement AWS VPC CNI
Learning how AWS implement AWS VPC CNI
 
Automating auto-scaled load balancer based on linux and vm orchestrator
Automating auto-scaled load balancer based on linux and vm orchestratorAutomating auto-scaled load balancer based on linux and vm orchestrator
Automating auto-scaled load balancer based on linux and vm orchestrator
 
Kubernetes networking
Kubernetes networkingKubernetes networking
Kubernetes networking
 
Kubernetes networks
Kubernetes networksKubernetes networks
Kubernetes networks
 
Tutorial on using CoreOS Flannel for Docker networking
Tutorial on using CoreOS Flannel for Docker networkingTutorial on using CoreOS Flannel for Docker networking
Tutorial on using CoreOS Flannel for Docker networking
 
Lab 3.5.1 basic frame relay
Lab 3.5.1 basic frame relayLab 3.5.1 basic frame relay
Lab 3.5.1 basic frame relay
 
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
 
Nynog-K8s-networking-101.pptx
Nynog-K8s-networking-101.pptxNynog-K8s-networking-101.pptx
Nynog-K8s-networking-101.pptx
 
How to build a Kubernetes networking solution from scratch
How to build a Kubernetes networking solution from scratchHow to build a Kubernetes networking solution from scratch
How to build a Kubernetes networking solution from scratch
 
KubeCon EU 2016: Secure, Cloud-Native Networking with Project Calico
KubeCon EU 2016: Secure, Cloud-Native Networking with Project CalicoKubeCon EU 2016: Secure, Cloud-Native Networking with Project Calico
KubeCon EU 2016: Secure, Cloud-Native Networking with Project Calico
 
Linux router
Linux routerLinux router
Linux router
 
CON411-R - Advanced network resource management on Amazon EKS
CON411-R - Advanced network resource management on Amazon EKSCON411-R - Advanced network resource management on Amazon EKS
CON411-R - Advanced network resource management on Amazon EKS
 
Network plugins for kubernetes
Network plugins for kubernetesNetwork plugins for kubernetes
Network plugins for kubernetes
 
Docker networking basics & coupling with Software Defined Networks
Docker networking basics & coupling with Software Defined NetworksDocker networking basics & coupling with Software Defined Networks
Docker networking basics & coupling with Software Defined Networks
 
Kubernetes networking - basics
Kubernetes networking - basicsKubernetes networking - basics
Kubernetes networking - basics
 
Docker SDN (software-defined-networking) JUG
Docker SDN (software-defined-networking) JUGDocker SDN (software-defined-networking) JUG
Docker SDN (software-defined-networking) JUG
 
Networking in Docker Containers
Networking in Docker ContainersNetworking in Docker Containers
Networking in Docker Containers
 
"One network to rule them all" - OpenStack Summit Austin 2016
"One network to rule them all" - OpenStack Summit Austin 2016"One network to rule them all" - OpenStack Summit Austin 2016
"One network to rule them all" - OpenStack Summit Austin 2016
 
Meetup docker using software defined networks
Meetup docker   using software defined networksMeetup docker   using software defined networks
Meetup docker using software defined networks
 

Dernier

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 

Dernier (20)

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 

Packet Walk(s) In Kubernetes