ContainerDays Hamburg 2023 — Cilium Workshop.pdf

Raphaël PINSON
Raphaël PINSONInfrastructure Developer & Trainer en Camptocamp
Raphaël Pinson | @raphink | @raphink@mastodon.social
🧪 Cilium Alchemist, Isovalent
Cilium Workshop:
Kubernetes Networking
with eBPF
⬢ Principles
Cilium & eBPF
Cloud Native Networking & Security
⬢ Principles
⬢ Networking
Cilium & eBPF
Cloud Native Networking & Security
⬢ Principles
⬢ Networking
⬢ Cluster Mesh
Cilium & eBPF
Cloud Native Networking & Security
⬢ Principles
⬢ Networking
⬢ Cluster Mesh
⬢ Security
Cilium & eBPF
Cloud Native Networking & Security
⬢ Principles
⬢ Networking
⬢ Cluster Mesh
⬢ Security
⬢ Observability
Cilium & eBPF
Cloud Native Networking & Security
⬢ Principles
⬢ Networking
⬢ Cluster Mesh
⬢ Security
⬢ Observability
⬢ Service Mesh
Cilium & eBPF
Cloud Native Networking & Security
⬢ Principles
⬢ Networking
⬢ Cluster Mesh
⬢ Security
⬢ Observability
⬢ Service Mesh
⬢ Tetragon
Cilium & eBPF
Cloud Native Networking & Security
Who am I
Raphaël Pinson
Cilium Alchemist @ Isovalent
⬢ Principles
⬢ Networking
⬢ Cluster Mesh
⬢ Security
⬢ Observability
⬢ Service Mesh
⬢ Tetragon
Cilium & eBPF
Cloud Native Networking & Security
● Open Source Projects ● Company behind Cilium
● Provides Cilium Enterprise
ContainerDays Hamburg 2023 — Cilium Workshop.pdf
Makes the Linux kernel
programmable in a
secure and efficient way.
“What JavaScript is to the
browser, eBPF is to the
Linux Kernel”
Run eBPF programs on events
Attachment points
● Kernel functions (kprobes)
● Userspace functions (uprobe)
● System calls
● Tracepoints
● Sockets (data level)
● Network devices (packet level)
● Network device (DMA level) [XDP]
● ...
What is Cilium?
At the foundation of Cilium is the new Linux kernel
technology eBPF, which enables the dynamic
insertion of powerful security, visibility, and networking
control logic within Linux itself. Besides providing
traditional network level security, the flexibility of BPF
enables security on API and process level to secure
communication within a container or pod.
Read More
● Networking & Load-Balancing
○ CNI, Kubernetes Services, Multi-cluster, VM Gateway
● Network Security
○ Network Policy, Identity-based, Encryption
● Observability
○ Metrics, Flow Visibility, Service Dependency
ContainerDays Hamburg 2023 — Cilium Workshop.pdf
- Networking
- Security
- Observability
- Service Mesh & Ingress
-based:
Foundation
Created by
Technology
Graduation Vote Ongoing!
https://github.com/cncf/toc/pull/952#issuecomment-1716062879
⬢ Principles
⬢ Networking
⬢ Cluster Mesh
⬢ Security
⬢ Observability
⬢ Service Mesh
⬢ Tetragon
Cilium & eBPF
Cloud Native Networking & Security
Kubernetes Networking
Networking plugin
● Network devices
● IP Address Management
● Intra-node connectivity
● Inter-node connectivity
Kube Proxy
● Services
● iptables or ipvs
● Service discovery
Kubernetes Networking
● Agent on each node
● Tunneling or Direct Routing
● eBPF native dataplane
● kube-proxy replacement.
Kubernetes Services
East-west connectivity
● Durable abstraction
● Connect applications
● Ephemeral addresses
● High churn
● Iptables or ipvs
Kubernetes Services
kube-proxy / iptables
● Linear list / sieve
● All rules have to be replaced as a
whole
eBPF based
● Per-CPU hash table ⇒ more
performant
● Native metadata => Cloud Native
routing
Egress Gateway
Platform Integration
node1
29
pod
192.168.1.1
pod
192.168.1.4
CiliumNode CRD
metadata:
name: node1
spec:
eni:
instance-id: i-123
instance-type: m4.large
preallocate: “8”
security-groups:
- sg1
- sg2
ipam:
available:
- 192.168.1.1
- 192.168.1.2
- 192.168.1.3
- 192.168.1.4
status:
ipam:
used:
- 192.168.1.1
- 192.168.1.4
Agent
Report used IPs
Use IPs
Operator
Make IPs
available
Init
Read ENI
parameters
Native Cloud Support
Alibaba, AWS, Azure, Google
⬢ Principles
⬢ Networking
⬢ Cluster Mesh
⬢ Security
⬢ Observability
⬢ Service Mesh
⬢ Tetragon
Cilium & eBPF
Cloud Native Networking & Security
Cluster Mesh - Introduction
Cluster Mesh - High Availability
Cluster Mesh - Shared Services
Cluster Mesh - Splitting Services
Cluster Mesh - Local Service Affinity
Cluster Mesh - Remote Service Affinity
Cluster Mesh - Local Service Affinity
Cluster Mesh - Remote Service Affinity
Cluster Mesh with Service Mesh
Canary Rollout to other Cluster
⬢ Principles
⬢ Networking
⬢ Cluster Mesh
⬢ Security
⬢ Observability
⬢ Service Mesh
⬢ Tetragon
Cilium & eBPF
Cloud Native Networking & Security
Identity-based Security
API-aware Authorization
Cassandra Cilium Network Policy Example
DNS-aware Cilium Network Policy
L3 Matching Capabilities
Kubernetes
● Pod labels
● Namespace name & labels
● ServiceAccount name
● Service names
● Cluster names
DNS Names
● FQDN and regular expression
CIDR
● CIDR blocks with exceptions
Cloud Providers
● Instance labels
● VPC/Subnet name/tags
● Security group name
Logical Entities
● Everything inside cluster
● Everything outside cluster
● Local host
● ...
⬢ Principles
⬢ Networking
⬢ Cluster Mesh
⬢ Security
⬢ Observability
⬢ Service Mesh
⬢ Tetragon
Cilium & eBPF
Cloud Native Networking & Security
What is Hubble?
Flow Visibility
$ kubectl get pods
NAME READY STATUS RESTARTS AGE
tiefighter 1/1 Running 0 2m34s
xwing 1/1 Running 0 2m34s
deathstar-5b7489bc84-crlxh 1/1 Running 0 2m34s
deathstar-5b7489bc84-j7qwq 1/1 Running 0 2m34s
$ hubble observe --follow -l class=xwing
# DNS lookup to coredns
default/xwing:41391 (ID:16092) -> kube-system/coredns-66bff467f8-28dgp:53 (ID:453) to-proxy FORWARDED (UDP)
kube-system/coredns-66bff467f8-28dgp:53 (ID:453) -> default/xwing:41391 (ID:16092) to-endpoint FORWARDED (UDP)
# ...
# Successful HTTPS request to www.disney.com
default/xwing:37836 (ID:16092) -> www.disney.com:443 (world) to-stack FORWARDED (TCP Flags: SYN)
www.disney.com:443 (world) -> default/xwing:37836 (ID:16092) to-endpoint FORWARDED (TCP Flags: SYN, ACK)
www.disney.com:443 (world) -> default/xwing:37836 (ID:16092) to-endpoint FORWARDED (TCP Flags: ACK, FIN)
default/xwing:37836 (ID:16092) -> www.disney.com:443 (world) to-stack FORWARDED (TCP Flags: RST)
# ...
# Blocked HTTP request to deathstar backend
default/xwing:49610 (ID:16092) -> default/deathstar:80 (ID:16081) Policy denied DROPPED (TCP Flags: SYN)
Flow Metadata
‒ Ethernet headers
‒ IP & ICMP headers
‒ UDP/TCP ports, TCP flags
‒ HTTP, DNS, Kafka, ...
Kubernetes
‒ Pod names and labels
‒ Service names
‒ Worker node names
DNS (if available)
‒ FQDN for source and
destination
Cilium
‒ Security identities and
endpoints
‒ Drop reasons
‒ Policy verdict matches
Service Map
Cilium & Grafana Integration
⬢ Principles
⬢ Networking
⬢ Cluster Mesh
⬢ Security
⬢ Observability
⬢ Service Mesh
⬢ Tetragon
Cilium & eBPF
Cloud Native Networking & Security
Introduction
Bring your own Control Plane
Service Mesh Evolution
Sidecar vs per-Node Proxy
Total number of proxies required
Traffic Management
- L3/L4 forwarding & Load-balancing
- Canary, Topology Aware Routing
- Multi-cluster
Security
- Network Policy
- mTLS
Observability
- Tracing, OpenTelemetry, & Metrics
- HTTP, TLS, DNS, TCP, UDP, …
eBPF Native
(no sidecar)
Proxy
Traffic Management
- L7 Load-balancing & Ingress
Resilience
- Retries, L7 Rate Limiting
Security
- TLS Termination & Origination
When eBPF cannot do it
Whenever possible
Performance Impact of a Sidecar
⬢ Principles
⬢ Networking
⬢ Cluster Mesh
⬢ Security
⬢ Observability
⬢ Service Mesh
⬢ Tetragon
Cilium & eBPF
Cloud Native Networking & Security
@lizrice
Cilium Tetragon
● New open source project in Cilium
● eBPF based = high performance and zero modifications required to app
● Hooks into kernel functions after parameters are copied
● Adds contextual information about Kubernetes objects
● Preventative capabilities
github.com/cilium/tetragon
Tetragon
Process Tree View
OSS Community
eBPF-based Networking,
Observability, Security
cilium.io
cilium.slack.com
Regular news
Learn more!
Base technology
The revolution in the Linux kernel,
safely and efficiently extending the
capabilities of the kernel.
ebpf.io
What is eBPF? - ebook
For the Enterprise
Hardened, enterprise-grade
eBPF-powered networking,
observability, and security.
isovalent.com/product
isovalent.com/labs
Which eBee are you?
@raphink | @raphink@mastodon.social
Cloud Network
Engineer
Security
Professional
Platform
Engineer
Platform Ops
(Service Mesh)
Cloud Architect
Exploring the Cilium World
Practical Labs
… to become a Cilium & eBPF Jedi
🌐 https://labs-map.isovalent.com
Get badges 🏅
@raphink | @raphink@mastodon.social
All major cloud providers have picked
-based Networking & Security
for their Kubernetes platforms
@raphink | @raphink@mastodon.social
How about you?
eBPF resources
eCHO
eBPF YouTube podcast:
https://www.youtube.com/channel/UCJFUxkVQTBJh3LD1wYB
WvuQ
eBPF & Cilium Slack
http://slack.cilium.io/
eCHO News
Bi-weekly eBPF newsletter:
https://cilium.io/newsletter/
@raphink | @raphink@mastodon.social
Workshops
@raphink | @raphink@mastodon.social
Geneva — 14th September
Cologne — 28th September
Oslo — 17th October
Stockholm — 19th October
London — 1st November
🌐 isovalent.com/workshop-tour
Thank you!
1 de 66

Recomendados

Cloud Native Networking & Security with Cilium & eBPF por
Cloud Native Networking & Security with Cilium & eBPFCloud Native Networking & Security with Cilium & eBPF
Cloud Native Networking & Security with Cilium & eBPFRaphaël PINSON
99 vistas49 diapositivas
Enhancing Network and Runtime Security with Cilium and Tetragon by Raymond De... por
Enhancing Network and Runtime Security with Cilium and Tetragon by Raymond De...Enhancing Network and Runtime Security with Cilium and Tetragon by Raymond De...
Enhancing Network and Runtime Security with Cilium and Tetragon by Raymond De...ContainerDay Security 2023
102 vistas48 diapositivas
Protocol and Integration Challenges for SDN por
Protocol and Integration Challenges for SDNProtocol and Integration Challenges for SDN
Protocol and Integration Challenges for SDNGerardo Pardo-Castellote
1.1K vistas31 diapositivas
07 (IDNOG02) SDN Research activity in Institut Teknologi Bandung by Affan Bas... por
07 (IDNOG02) SDN Research activity in Institut Teknologi Bandung by Affan Bas...07 (IDNOG02) SDN Research activity in Institut Teknologi Bandung by Affan Bas...
07 (IDNOG02) SDN Research activity in Institut Teknologi Bandung by Affan Bas...Indonesia Network Operators Group
1.6K vistas53 diapositivas
DCEU 18: Docker Container Networking por
DCEU 18: Docker Container NetworkingDCEU 18: Docker Container Networking
DCEU 18: Docker Container NetworkingDocker, Inc.
821 vistas32 diapositivas
Cilium - Fast IPv6 Container Networking with BPF and XDP por
Cilium - Fast IPv6 Container Networking with BPF and XDPCilium - Fast IPv6 Container Networking with BPF and XDP
Cilium - Fast IPv6 Container Networking with BPF and XDPThomas Graf
8.6K vistas23 diapositivas

Más contenido relacionado

Similar a ContainerDays Hamburg 2023 — Cilium Workshop.pdf

Osnug meetup-tungsten fabric - overview.pptx por
Osnug meetup-tungsten fabric - overview.pptxOsnug meetup-tungsten fabric - overview.pptx
Osnug meetup-tungsten fabric - overview.pptxM.Qasim Arham
607 vistas39 diapositivas
DevOpsDays Houston 2019 - Dan Kirkpatrick - My Kubernetes Tool Chain: Open-So... por
DevOpsDays Houston 2019 - Dan Kirkpatrick - My Kubernetes Tool Chain: Open-So...DevOpsDays Houston 2019 - Dan Kirkpatrick - My Kubernetes Tool Chain: Open-So...
DevOpsDays Houston 2019 - Dan Kirkpatrick - My Kubernetes Tool Chain: Open-So...DevOpsDays Houston
218 vistas20 diapositivas
Kubernetes Networking 101 por
Kubernetes Networking 101Kubernetes Networking 101
Kubernetes Networking 101Kublr
87 vistas17 diapositivas
Docker network performance in the public cloud por
Docker network performance in the public cloudDocker network performance in the public cloud
Docker network performance in the public cloudContainerCamp
412 vistas33 diapositivas
Docker network performance in the public cloud por
Docker network performance in the public cloudDocker network performance in the public cloud
Docker network performance in the public cloudArjan Schaaf
4.5K vistas33 diapositivas
Can i service this from my raspberry pi por
Can i service this from my raspberry piCan i service this from my raspberry pi
Can i service this from my raspberry piThoughtworks
767 vistas67 diapositivas

Similar a ContainerDays Hamburg 2023 — Cilium Workshop.pdf(20)

Osnug meetup-tungsten fabric - overview.pptx por M.Qasim Arham
Osnug meetup-tungsten fabric - overview.pptxOsnug meetup-tungsten fabric - overview.pptx
Osnug meetup-tungsten fabric - overview.pptx
M.Qasim Arham607 vistas
DevOpsDays Houston 2019 - Dan Kirkpatrick - My Kubernetes Tool Chain: Open-So... por DevOpsDays Houston
DevOpsDays Houston 2019 - Dan Kirkpatrick - My Kubernetes Tool Chain: Open-So...DevOpsDays Houston 2019 - Dan Kirkpatrick - My Kubernetes Tool Chain: Open-So...
DevOpsDays Houston 2019 - Dan Kirkpatrick - My Kubernetes Tool Chain: Open-So...
DevOpsDays Houston218 vistas
Kubernetes Networking 101 por Kublr
Kubernetes Networking 101Kubernetes Networking 101
Kubernetes Networking 101
Kublr87 vistas
Docker network performance in the public cloud por ContainerCamp
Docker network performance in the public cloudDocker network performance in the public cloud
Docker network performance in the public cloud
ContainerCamp412 vistas
Docker network performance in the public cloud por Arjan Schaaf
Docker network performance in the public cloudDocker network performance in the public cloud
Docker network performance in the public cloud
Arjan Schaaf4.5K vistas
Can i service this from my raspberry pi por Thoughtworks
Can i service this from my raspberry piCan i service this from my raspberry pi
Can i service this from my raspberry pi
Thoughtworks767 vistas
Cloud Native Bern 05.2023 — Zero Trust Visibility por Raphaël PINSON
Cloud Native Bern 05.2023 — Zero Trust VisibilityCloud Native Bern 05.2023 — Zero Trust Visibility
Cloud Native Bern 05.2023 — Zero Trust Visibility
Raphaël PINSON86 vistas
Kubernetes @ Squarespace (SRE Portland Meetup October 2017) por Kevin Lynch
Kubernetes @ Squarespace (SRE Portland Meetup October 2017)Kubernetes @ Squarespace (SRE Portland Meetup October 2017)
Kubernetes @ Squarespace (SRE Portland Meetup October 2017)
Kevin Lynch237 vistas
IRATI: an open source RINA implementation for Linux/OS por ICT PRISTINE
IRATI: an open source RINA implementation for Linux/OSIRATI: an open source RINA implementation for Linux/OS
IRATI: an open source RINA implementation for Linux/OS
ICT PRISTINE2.1K vistas
BPF & Cilium - Turning Linux into a Microservices-aware Operating System por Thomas Graf
BPF  & Cilium - Turning Linux into a Microservices-aware Operating SystemBPF  & Cilium - Turning Linux into a Microservices-aware Operating System
BPF & Cilium - Turning Linux into a Microservices-aware Operating System
Thomas Graf2.9K vistas
СТАНІСЛАВ КОЛЕНКІН «Cilium – Network security for microservices. Let’s see ho... por UA DevOps Conference
СТАНІСЛАВ КОЛЕНКІН «Cilium – Network security for microservices. Let’s see ho...СТАНІСЛАВ КОЛЕНКІН «Cilium – Network security for microservices. Let’s see ho...
СТАНІСЛАВ КОЛЕНКІН «Cilium – Network security for microservices. Let’s see ho...
Contrail integrated with Kubernetes and Openstack por Daisuke Nakajima
Contrail integrated with Kubernetes and OpenstackContrail integrated with Kubernetes and Openstack
Contrail integrated with Kubernetes and Openstack
Daisuke Nakajima1.2K vistas
Kubernetes the Very Hard Way. Lisa Portland 2019 por Laurent Bernaille
Kubernetes the Very Hard Way. Lisa Portland 2019Kubernetes the Very Hard Way. Lisa Portland 2019
Kubernetes the Very Hard Way. Lisa Portland 2019
Laurent Bernaille2.6K vistas
CloudNativeTurkey - Lines of Defence.pdf por Koray Oksay
CloudNativeTurkey - Lines of Defence.pdfCloudNativeTurkey - Lines of Defence.pdf
CloudNativeTurkey - Lines of Defence.pdf
Koray Oksay26 vistas
Composing services with Kubernetes por Bart Spaans
Composing services with KubernetesComposing services with Kubernetes
Composing services with Kubernetes
Bart Spaans354 vistas

Más de Raphaël PINSON

KCD Zurich 2023 — Bridge Dev & Ops with eBPF.pdf por
KCD Zurich 2023 — Bridge Dev & Ops with eBPF.pdfKCD Zurich 2023 — Bridge Dev & Ops with eBPF.pdf
KCD Zurich 2023 — Bridge Dev & Ops with eBPF.pdfRaphaël PINSON
65 vistas43 diapositivas
DevOpsDays Zurich 2023 — Bridging Dev and Ops with eBPF: Extending Observabil... por
DevOpsDays Zurich 2023 — Bridging Dev and Ops with eBPF: Extending Observabil...DevOpsDays Zurich 2023 — Bridging Dev and Ops with eBPF: Extending Observabil...
DevOpsDays Zurich 2023 — Bridging Dev and Ops with eBPF: Extending Observabil...Raphaël PINSON
59 vistas42 diapositivas
Révolution eBPF - un noyau dynamique por
Révolution eBPF - un noyau dynamiqueRévolution eBPF - un noyau dynamique
Révolution eBPF - un noyau dynamiqueRaphaël PINSON
199 vistas70 diapositivas
Cfgmgmtcamp 2023 — eBPF Superpowers por
Cfgmgmtcamp 2023 — eBPF SuperpowersCfgmgmtcamp 2023 — eBPF Superpowers
Cfgmgmtcamp 2023 — eBPF SuperpowersRaphaël PINSON
108 vistas72 diapositivas
2022 DevOpsDays Geneva — The Hare and the Tortoise.pdf por
2022 DevOpsDays Geneva — The Hare and the Tortoise.pdf2022 DevOpsDays Geneva — The Hare and the Tortoise.pdf
2022 DevOpsDays Geneva — The Hare and the Tortoise.pdfRaphaël PINSON
459 vistas22 diapositivas
SKS in git ops mode por
SKS in git ops modeSKS in git ops mode
SKS in git ops modeRaphaël PINSON
359 vistas21 diapositivas

Más de Raphaël PINSON(20)

KCD Zurich 2023 — Bridge Dev & Ops with eBPF.pdf por Raphaël PINSON
KCD Zurich 2023 — Bridge Dev & Ops with eBPF.pdfKCD Zurich 2023 — Bridge Dev & Ops with eBPF.pdf
KCD Zurich 2023 — Bridge Dev & Ops with eBPF.pdf
Raphaël PINSON65 vistas
DevOpsDays Zurich 2023 — Bridging Dev and Ops with eBPF: Extending Observabil... por Raphaël PINSON
DevOpsDays Zurich 2023 — Bridging Dev and Ops with eBPF: Extending Observabil...DevOpsDays Zurich 2023 — Bridging Dev and Ops with eBPF: Extending Observabil...
DevOpsDays Zurich 2023 — Bridging Dev and Ops with eBPF: Extending Observabil...
Raphaël PINSON59 vistas
Révolution eBPF - un noyau dynamique por Raphaël PINSON
Révolution eBPF - un noyau dynamiqueRévolution eBPF - un noyau dynamique
Révolution eBPF - un noyau dynamique
Raphaël PINSON199 vistas
Cfgmgmtcamp 2023 — eBPF Superpowers por Raphaël PINSON
Cfgmgmtcamp 2023 — eBPF SuperpowersCfgmgmtcamp 2023 — eBPF Superpowers
Cfgmgmtcamp 2023 — eBPF Superpowers
Raphaël PINSON108 vistas
2022 DevOpsDays Geneva — The Hare and the Tortoise.pdf por Raphaël PINSON
2022 DevOpsDays Geneva — The Hare and the Tortoise.pdf2022 DevOpsDays Geneva — The Hare and the Tortoise.pdf
2022 DevOpsDays Geneva — The Hare and the Tortoise.pdf
Raphaël PINSON459 vistas
The Hare and the Tortoise: Open Source, Standards & Technological Debt por Raphaël PINSON
The Hare and the Tortoise: Open Source, Standards & Technological DebtThe Hare and the Tortoise: Open Source, Standards & Technological Debt
The Hare and the Tortoise: Open Source, Standards & Technological Debt
Raphaël PINSON428 vistas
YAML Engineering: why we need a new paradigm por Raphaël PINSON
YAML Engineering: why we need a new paradigmYAML Engineering: why we need a new paradigm
YAML Engineering: why we need a new paradigm
Raphaël PINSON275 vistas
Container Security: a toolchain for automatic image rebuilds por Raphaël PINSON
Container Security: a toolchain for automatic image rebuildsContainer Security: a toolchain for automatic image rebuilds
Container Security: a toolchain for automatic image rebuilds
Raphaël PINSON187 vistas
K9s - Kubernetes CLI To Manage Your Clusters In Style por Raphaël PINSON
K9s - Kubernetes CLI To Manage Your Clusters In StyleK9s - Kubernetes CLI To Manage Your Clusters In Style
K9s - Kubernetes CLI To Manage Your Clusters In Style
Raphaël PINSON130 vistas
Automating Puppet Certificates Renewal por Raphaël PINSON
Automating Puppet Certificates RenewalAutomating Puppet Certificates Renewal
Automating Puppet Certificates Renewal
Raphaël PINSON68 vistas
Running the Puppet Stack in Containers por Raphaël PINSON
Running the Puppet Stack in ContainersRunning the Puppet Stack in Containers
Running the Puppet Stack in Containers
Raphaël PINSON118 vistas
Automating Puppet Certificates Renewal por Raphaël PINSON
Automating Puppet Certificates RenewalAutomating Puppet Certificates Renewal
Automating Puppet Certificates Renewal
Raphaël PINSON405 vistas
Narcissus — mapping configs in Go por Raphaël PINSON
Narcissus — mapping configs in GoNarcissus — mapping configs in Go
Narcissus — mapping configs in Go
Raphaël PINSON160 vistas
FTTH Factory — an illustration of the "Everything as Code" paradigm por Raphaël PINSON
FTTH Factory — an illustration of the "Everything as Code" paradigmFTTH Factory — an illustration of the "Everything as Code" paradigm
FTTH Factory — an illustration of the "Everything as Code" paradigm
Raphaël PINSON237 vistas
Puppet Test Driven Development with Travis CI and Docker por Raphaël PINSON
Puppet Test Driven Development with Travis CI and DockerPuppet Test Driven Development with Travis CI and Docker
Puppet Test Driven Development with Travis CI and Docker
Raphaël PINSON746 vistas
Orchestrated Functional Testing with Puppet-spec and Mspectator por Raphaël PINSON
Orchestrated Functional Testing with Puppet-spec and MspectatorOrchestrated Functional Testing with Puppet-spec and Mspectator
Orchestrated Functional Testing with Puppet-spec and Mspectator
Raphaël PINSON803 vistas

Último

Uni Systems for Power Platform.pptx por
Uni Systems for Power Platform.pptxUni Systems for Power Platform.pptx
Uni Systems for Power Platform.pptxUni Systems S.M.S.A.
50 vistas21 diapositivas
Beyond the Hype: What Generative AI Means for the Future of Work - Damien Cum... por
Beyond the Hype: What Generative AI Means for the Future of Work - Damien Cum...Beyond the Hype: What Generative AI Means for the Future of Work - Damien Cum...
Beyond the Hype: What Generative AI Means for the Future of Work - Damien Cum...NUS-ISS
34 vistas35 diapositivas
AI: mind, matter, meaning, metaphors, being, becoming, life values por
AI: mind, matter, meaning, metaphors, being, becoming, life valuesAI: mind, matter, meaning, metaphors, being, becoming, life values
AI: mind, matter, meaning, metaphors, being, becoming, life valuesTwain Liu 刘秋艳
35 vistas16 diapositivas
Future of Learning - Khoong Chan Meng por
Future of Learning - Khoong Chan MengFuture of Learning - Khoong Chan Meng
Future of Learning - Khoong Chan MengNUS-ISS
33 vistas7 diapositivas
Perth MeetUp November 2023 por
Perth MeetUp November 2023 Perth MeetUp November 2023
Perth MeetUp November 2023 Michael Price
15 vistas44 diapositivas
Combining Orchestration and Choreography for a Clean Architecture por
Combining Orchestration and Choreography for a Clean ArchitectureCombining Orchestration and Choreography for a Clean Architecture
Combining Orchestration and Choreography for a Clean ArchitectureThomasHeinrichs1
69 vistas24 diapositivas

Último(20)

Beyond the Hype: What Generative AI Means for the Future of Work - Damien Cum... por NUS-ISS
Beyond the Hype: What Generative AI Means for the Future of Work - Damien Cum...Beyond the Hype: What Generative AI Means for the Future of Work - Damien Cum...
Beyond the Hype: What Generative AI Means for the Future of Work - Damien Cum...
NUS-ISS34 vistas
AI: mind, matter, meaning, metaphors, being, becoming, life values por Twain Liu 刘秋艳
AI: mind, matter, meaning, metaphors, being, becoming, life valuesAI: mind, matter, meaning, metaphors, being, becoming, life values
AI: mind, matter, meaning, metaphors, being, becoming, life values
Future of Learning - Khoong Chan Meng por NUS-ISS
Future of Learning - Khoong Chan MengFuture of Learning - Khoong Chan Meng
Future of Learning - Khoong Chan Meng
NUS-ISS33 vistas
Perth MeetUp November 2023 por Michael Price
Perth MeetUp November 2023 Perth MeetUp November 2023
Perth MeetUp November 2023
Michael Price15 vistas
Combining Orchestration and Choreography for a Clean Architecture por ThomasHeinrichs1
Combining Orchestration and Choreography for a Clean ArchitectureCombining Orchestration and Choreography for a Clean Architecture
Combining Orchestration and Choreography for a Clean Architecture
ThomasHeinrichs169 vistas
Java Platform Approach 1.0 - Picnic Meetup por Rick Ossendrijver
Java Platform Approach 1.0 - Picnic MeetupJava Platform Approach 1.0 - Picnic Meetup
Java Platform Approach 1.0 - Picnic Meetup
Rick Ossendrijver25 vistas
Report 2030 Digital Decade por Massimo Talia
Report 2030 Digital DecadeReport 2030 Digital Decade
Report 2030 Digital Decade
Massimo Talia14 vistas
The Importance of Cybersecurity for Digital Transformation por NUS-ISS
The Importance of Cybersecurity for Digital TransformationThe Importance of Cybersecurity for Digital Transformation
The Importance of Cybersecurity for Digital Transformation
NUS-ISS27 vistas
Igniting Next Level Productivity with AI-Infused Data Integration Workflows por Safe Software
Igniting Next Level Productivity with AI-Infused Data Integration Workflows Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Safe Software225 vistas
AMAZON PRODUCT RESEARCH.pdf por JerikkLaureta
AMAZON PRODUCT RESEARCH.pdfAMAZON PRODUCT RESEARCH.pdf
AMAZON PRODUCT RESEARCH.pdf
JerikkLaureta15 vistas
Future of Learning - Yap Aye Wee.pdf por NUS-ISS
Future of Learning - Yap Aye Wee.pdfFuture of Learning - Yap Aye Wee.pdf
Future of Learning - Yap Aye Wee.pdf
NUS-ISS41 vistas
How to reduce cold starts for Java Serverless applications in AWS at JCON Wor... por Vadym Kazulkin
How to reduce cold starts for Java Serverless applications in AWS at JCON Wor...How to reduce cold starts for Java Serverless applications in AWS at JCON Wor...
How to reduce cold starts for Java Serverless applications in AWS at JCON Wor...
Vadym Kazulkin75 vistas
Understanding GenAI/LLM and What is Google Offering - Felix Goh por NUS-ISS
Understanding GenAI/LLM and What is Google Offering - Felix GohUnderstanding GenAI/LLM and What is Google Offering - Felix Goh
Understanding GenAI/LLM and What is Google Offering - Felix Goh
NUS-ISS41 vistas
SAP Automation Using Bar Code and FIORI.pdf por Virendra Rai, PMP
SAP Automation Using Bar Code and FIORI.pdfSAP Automation Using Bar Code and FIORI.pdf
SAP Automation Using Bar Code and FIORI.pdf
Virendra Rai, PMP19 vistas

ContainerDays Hamburg 2023 — Cilium Workshop.pdf

  • 1. Raphaël Pinson | @raphink | @raphink@mastodon.social 🧪 Cilium Alchemist, Isovalent Cilium Workshop: Kubernetes Networking with eBPF
  • 2. ⬢ Principles Cilium & eBPF Cloud Native Networking & Security
  • 3. ⬢ Principles ⬢ Networking Cilium & eBPF Cloud Native Networking & Security
  • 4. ⬢ Principles ⬢ Networking ⬢ Cluster Mesh Cilium & eBPF Cloud Native Networking & Security
  • 5. ⬢ Principles ⬢ Networking ⬢ Cluster Mesh ⬢ Security Cilium & eBPF Cloud Native Networking & Security
  • 6. ⬢ Principles ⬢ Networking ⬢ Cluster Mesh ⬢ Security ⬢ Observability Cilium & eBPF Cloud Native Networking & Security
  • 7. ⬢ Principles ⬢ Networking ⬢ Cluster Mesh ⬢ Security ⬢ Observability ⬢ Service Mesh Cilium & eBPF Cloud Native Networking & Security
  • 8. ⬢ Principles ⬢ Networking ⬢ Cluster Mesh ⬢ Security ⬢ Observability ⬢ Service Mesh ⬢ Tetragon Cilium & eBPF Cloud Native Networking & Security
  • 9. Who am I Raphaël Pinson Cilium Alchemist @ Isovalent
  • 10. ⬢ Principles ⬢ Networking ⬢ Cluster Mesh ⬢ Security ⬢ Observability ⬢ Service Mesh ⬢ Tetragon Cilium & eBPF Cloud Native Networking & Security
  • 11. ● Open Source Projects ● Company behind Cilium ● Provides Cilium Enterprise
  • 13. Makes the Linux kernel programmable in a secure and efficient way. “What JavaScript is to the browser, eBPF is to the Linux Kernel”
  • 14. Run eBPF programs on events Attachment points ● Kernel functions (kprobes) ● Userspace functions (uprobe) ● System calls ● Tracepoints ● Sockets (data level) ● Network devices (packet level) ● Network device (DMA level) [XDP] ● ...
  • 15. What is Cilium? At the foundation of Cilium is the new Linux kernel technology eBPF, which enables the dynamic insertion of powerful security, visibility, and networking control logic within Linux itself. Besides providing traditional network level security, the flexibility of BPF enables security on API and process level to secure communication within a container or pod. Read More ● Networking & Load-Balancing ○ CNI, Kubernetes Services, Multi-cluster, VM Gateway ● Network Security ○ Network Policy, Identity-based, Encryption ● Observability ○ Metrics, Flow Visibility, Service Dependency
  • 17. - Networking - Security - Observability - Service Mesh & Ingress -based: Foundation Created by Technology
  • 19. ⬢ Principles ⬢ Networking ⬢ Cluster Mesh ⬢ Security ⬢ Observability ⬢ Service Mesh ⬢ Tetragon Cilium & eBPF Cloud Native Networking & Security
  • 20. Kubernetes Networking Networking plugin ● Network devices ● IP Address Management ● Intra-node connectivity ● Inter-node connectivity Kube Proxy ● Services ● iptables or ipvs ● Service discovery
  • 21. Kubernetes Networking ● Agent on each node ● Tunneling or Direct Routing ● eBPF native dataplane ● kube-proxy replacement.
  • 22. Kubernetes Services East-west connectivity ● Durable abstraction ● Connect applications ● Ephemeral addresses ● High churn ● Iptables or ipvs
  • 23. Kubernetes Services kube-proxy / iptables ● Linear list / sieve ● All rules have to be replaced as a whole eBPF based ● Per-CPU hash table ⇒ more performant ● Native metadata => Cloud Native routing
  • 26. node1 29 pod 192.168.1.1 pod 192.168.1.4 CiliumNode CRD metadata: name: node1 spec: eni: instance-id: i-123 instance-type: m4.large preallocate: “8” security-groups: - sg1 - sg2 ipam: available: - 192.168.1.1 - 192.168.1.2 - 192.168.1.3 - 192.168.1.4 status: ipam: used: - 192.168.1.1 - 192.168.1.4 Agent Report used IPs Use IPs Operator Make IPs available Init Read ENI parameters Native Cloud Support Alibaba, AWS, Azure, Google
  • 27. ⬢ Principles ⬢ Networking ⬢ Cluster Mesh ⬢ Security ⬢ Observability ⬢ Service Mesh ⬢ Tetragon Cilium & eBPF Cloud Native Networking & Security
  • 28. Cluster Mesh - Introduction
  • 29. Cluster Mesh - High Availability
  • 30. Cluster Mesh - Shared Services
  • 31. Cluster Mesh - Splitting Services
  • 32. Cluster Mesh - Local Service Affinity
  • 33. Cluster Mesh - Remote Service Affinity
  • 34. Cluster Mesh - Local Service Affinity
  • 35. Cluster Mesh - Remote Service Affinity
  • 36. Cluster Mesh with Service Mesh Canary Rollout to other Cluster
  • 37. ⬢ Principles ⬢ Networking ⬢ Cluster Mesh ⬢ Security ⬢ Observability ⬢ Service Mesh ⬢ Tetragon Cilium & eBPF Cloud Native Networking & Security
  • 40. Cassandra Cilium Network Policy Example
  • 42. L3 Matching Capabilities Kubernetes ● Pod labels ● Namespace name & labels ● ServiceAccount name ● Service names ● Cluster names DNS Names ● FQDN and regular expression CIDR ● CIDR blocks with exceptions Cloud Providers ● Instance labels ● VPC/Subnet name/tags ● Security group name Logical Entities ● Everything inside cluster ● Everything outside cluster ● Local host ● ...
  • 43. ⬢ Principles ⬢ Networking ⬢ Cluster Mesh ⬢ Security ⬢ Observability ⬢ Service Mesh ⬢ Tetragon Cilium & eBPF Cloud Native Networking & Security
  • 45. Flow Visibility $ kubectl get pods NAME READY STATUS RESTARTS AGE tiefighter 1/1 Running 0 2m34s xwing 1/1 Running 0 2m34s deathstar-5b7489bc84-crlxh 1/1 Running 0 2m34s deathstar-5b7489bc84-j7qwq 1/1 Running 0 2m34s $ hubble observe --follow -l class=xwing # DNS lookup to coredns default/xwing:41391 (ID:16092) -> kube-system/coredns-66bff467f8-28dgp:53 (ID:453) to-proxy FORWARDED (UDP) kube-system/coredns-66bff467f8-28dgp:53 (ID:453) -> default/xwing:41391 (ID:16092) to-endpoint FORWARDED (UDP) # ... # Successful HTTPS request to www.disney.com default/xwing:37836 (ID:16092) -> www.disney.com:443 (world) to-stack FORWARDED (TCP Flags: SYN) www.disney.com:443 (world) -> default/xwing:37836 (ID:16092) to-endpoint FORWARDED (TCP Flags: SYN, ACK) www.disney.com:443 (world) -> default/xwing:37836 (ID:16092) to-endpoint FORWARDED (TCP Flags: ACK, FIN) default/xwing:37836 (ID:16092) -> www.disney.com:443 (world) to-stack FORWARDED (TCP Flags: RST) # ... # Blocked HTTP request to deathstar backend default/xwing:49610 (ID:16092) -> default/deathstar:80 (ID:16081) Policy denied DROPPED (TCP Flags: SYN) Flow Metadata ‒ Ethernet headers ‒ IP & ICMP headers ‒ UDP/TCP ports, TCP flags ‒ HTTP, DNS, Kafka, ... Kubernetes ‒ Pod names and labels ‒ Service names ‒ Worker node names DNS (if available) ‒ FQDN for source and destination Cilium ‒ Security identities and endpoints ‒ Drop reasons ‒ Policy verdict matches
  • 47. Cilium & Grafana Integration
  • 48. ⬢ Principles ⬢ Networking ⬢ Cluster Mesh ⬢ Security ⬢ Observability ⬢ Service Mesh ⬢ Tetragon Cilium & eBPF Cloud Native Networking & Security
  • 50. Bring your own Control Plane
  • 52. Sidecar vs per-Node Proxy Total number of proxies required
  • 53. Traffic Management - L3/L4 forwarding & Load-balancing - Canary, Topology Aware Routing - Multi-cluster Security - Network Policy - mTLS Observability - Tracing, OpenTelemetry, & Metrics - HTTP, TLS, DNS, TCP, UDP, … eBPF Native (no sidecar) Proxy Traffic Management - L7 Load-balancing & Ingress Resilience - Retries, L7 Rate Limiting Security - TLS Termination & Origination When eBPF cannot do it Whenever possible
  • 55. ⬢ Principles ⬢ Networking ⬢ Cluster Mesh ⬢ Security ⬢ Observability ⬢ Service Mesh ⬢ Tetragon Cilium & eBPF Cloud Native Networking & Security
  • 56. @lizrice Cilium Tetragon ● New open source project in Cilium ● eBPF based = high performance and zero modifications required to app ● Hooks into kernel functions after parameters are copied ● Adds contextual information about Kubernetes objects ● Preventative capabilities github.com/cilium/tetragon
  • 59. OSS Community eBPF-based Networking, Observability, Security cilium.io cilium.slack.com Regular news Learn more! Base technology The revolution in the Linux kernel, safely and efficiently extending the capabilities of the kernel. ebpf.io What is eBPF? - ebook For the Enterprise Hardened, enterprise-grade eBPF-powered networking, observability, and security. isovalent.com/product isovalent.com/labs
  • 60. Which eBee are you? @raphink | @raphink@mastodon.social Cloud Network Engineer Security Professional Platform Engineer Platform Ops (Service Mesh) Cloud Architect
  • 62. Practical Labs … to become a Cilium & eBPF Jedi 🌐 https://labs-map.isovalent.com Get badges 🏅 @raphink | @raphink@mastodon.social
  • 63. All major cloud providers have picked -based Networking & Security for their Kubernetes platforms @raphink | @raphink@mastodon.social How about you?
  • 64. eBPF resources eCHO eBPF YouTube podcast: https://www.youtube.com/channel/UCJFUxkVQTBJh3LD1wYB WvuQ eBPF & Cilium Slack http://slack.cilium.io/ eCHO News Bi-weekly eBPF newsletter: https://cilium.io/newsletter/ @raphink | @raphink@mastodon.social
  • 65. Workshops @raphink | @raphink@mastodon.social Geneva — 14th September Cologne — 28th September Oslo — 17th October Stockholm — 19th October London — 1st November 🌐 isovalent.com/workshop-tour