ContainerDays Hamburg 2023 — Cilium Workshop.pdf

Raphaël PINSON
Raphaël PINSONInfrastructure Developer & Trainer em 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 visualizações49 slides
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 visualizações48 slides
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 visualizações31 slides
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 visualizações53 slides
DCEU 18: Docker Container Networking por
DCEU 18: Docker Container NetworkingDCEU 18: Docker Container Networking
DCEU 18: Docker Container NetworkingDocker, Inc.
821 visualizações32 slides
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 visualizações23 slides

Mais conteúdo 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 visualizações39 slides
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 visualizações20 slides
Kubernetes Networking 101 por
Kubernetes Networking 101Kubernetes Networking 101
Kubernetes Networking 101Kublr
87 visualizações17 slides
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 visualizações33 slides
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 visualizações33 slides
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 visualizações67 slides

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 visualizações
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 visualizações
Kubernetes Networking 101 por Kublr
Kubernetes Networking 101Kubernetes Networking 101
Kubernetes Networking 101
Kublr87 visualizações
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 visualizações
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 visualizações
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 visualizações
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 visualizações
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 visualizações
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 visualizações
Opnfv & odl case study slides por Christopher Price
Opnfv & odl case study slidesOpnfv & odl case study slides
Opnfv & odl case study slides
Christopher Price432 visualizações
Container world hybridnetworking_rev2 por Prem Sankar Gopannan
Container world hybridnetworking_rev2Container world hybridnetworking_rev2
Container world hybridnetworking_rev2
Prem Sankar Gopannan185 visualizações
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 visualizações
СТАНІСЛАВ КОЛЕНКІН «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...
UA DevOps Conference58 visualizações
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 visualizações
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 visualizações
CloudNativeTurkey - Lines of Defence.pdf por Koray Oksay
CloudNativeTurkey - Lines of Defence.pdfCloudNativeTurkey - Lines of Defence.pdf
CloudNativeTurkey - Lines of Defence.pdf
Koray Oksay26 visualizações
Composing services with Kubernetes por Bart Spaans
Composing services with KubernetesComposing services with Kubernetes
Composing services with Kubernetes
Bart Spaans354 visualizações

Mais 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 visualizações43 slides
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 visualizações42 slides
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 visualizações70 slides
Cfgmgmtcamp 2023 — eBPF Superpowers por
Cfgmgmtcamp 2023 — eBPF SuperpowersCfgmgmtcamp 2023 — eBPF Superpowers
Cfgmgmtcamp 2023 — eBPF SuperpowersRaphaël PINSON
108 visualizações72 slides
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 visualizações22 slides
SKS in git ops mode por
SKS in git ops modeSKS in git ops mode
SKS in git ops modeRaphaël PINSON
359 visualizações21 slides

Mais 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 visualizações
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 visualizações
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 visualizações
Cfgmgmtcamp 2023 — eBPF Superpowers por Raphaël PINSON
Cfgmgmtcamp 2023 — eBPF SuperpowersCfgmgmtcamp 2023 — eBPF Superpowers
Cfgmgmtcamp 2023 — eBPF Superpowers
Raphaël PINSON108 visualizações
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 visualizações
SKS in git ops mode por Raphaël PINSON
SKS in git ops modeSKS in git ops mode
SKS in git ops mode
Raphaël PINSON359 visualizações
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 visualizações
Devops stack por Raphaël PINSON
Devops stackDevops stack
Devops stack
Raphaël PINSON290 visualizações
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 visualizações
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 visualizações
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 visualizações
Argocd up and running por Raphaël PINSON
Argocd up and runningArgocd up and running
Argocd up and running
Raphaël PINSON210 visualizações
Bivac - Container Volumes Backup por Raphaël PINSON
Bivac - Container Volumes BackupBivac - Container Volumes Backup
Bivac - Container Volumes Backup
Raphaël PINSON32 visualizações
Automating Puppet Certificates Renewal por Raphaël PINSON
Automating Puppet Certificates RenewalAutomating Puppet Certificates Renewal
Automating Puppet Certificates Renewal
Raphaël PINSON68 visualizações
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 visualizações
Automating Puppet Certificates Renewal por Raphaël PINSON
Automating Puppet Certificates RenewalAutomating Puppet Certificates Renewal
Automating Puppet Certificates Renewal
Raphaël PINSON405 visualizações
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 visualizações
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 visualizações
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 visualizações
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 visualizações

Último

.conf Go 2023 - How KPN drives Customer Satisfaction on IPTV por
.conf Go 2023 - How KPN drives Customer Satisfaction on IPTV.conf Go 2023 - How KPN drives Customer Satisfaction on IPTV
.conf Go 2023 - How KPN drives Customer Satisfaction on IPTVSplunk
88 visualizações20 slides
Perth MeetUp November 2023 por
Perth MeetUp November 2023 Perth MeetUp November 2023
Perth MeetUp November 2023 Michael Price
15 visualizações44 slides
Architecting CX Measurement Frameworks and Ensuring CX Metrics are fit for Pu... por
Architecting CX Measurement Frameworks and Ensuring CX Metrics are fit for Pu...Architecting CX Measurement Frameworks and Ensuring CX Metrics are fit for Pu...
Architecting CX Measurement Frameworks and Ensuring CX Metrics are fit for Pu...NUS-ISS
37 visualizações54 slides
Five Things You SHOULD Know About Postman por
Five Things You SHOULD Know About PostmanFive Things You SHOULD Know About Postman
Five Things You SHOULD Know About PostmanPostman
27 visualizações43 slides
Special_edition_innovator_2023.pdf por
Special_edition_innovator_2023.pdfSpecial_edition_innovator_2023.pdf
Special_edition_innovator_2023.pdfWillDavies22
16 visualizações6 slides
Roadmap to Become Experts.pptx por
Roadmap to Become Experts.pptxRoadmap to Become Experts.pptx
Roadmap to Become Experts.pptxdscwidyatamanew
11 visualizações45 slides

Último(20)

.conf Go 2023 - How KPN drives Customer Satisfaction on IPTV por Splunk
.conf Go 2023 - How KPN drives Customer Satisfaction on IPTV.conf Go 2023 - How KPN drives Customer Satisfaction on IPTV
.conf Go 2023 - How KPN drives Customer Satisfaction on IPTV
Splunk88 visualizações
Perth MeetUp November 2023 por Michael Price
Perth MeetUp November 2023 Perth MeetUp November 2023
Perth MeetUp November 2023
Michael Price15 visualizações
Architecting CX Measurement Frameworks and Ensuring CX Metrics are fit for Pu... por NUS-ISS
Architecting CX Measurement Frameworks and Ensuring CX Metrics are fit for Pu...Architecting CX Measurement Frameworks and Ensuring CX Metrics are fit for Pu...
Architecting CX Measurement Frameworks and Ensuring CX Metrics are fit for Pu...
NUS-ISS37 visualizações
Five Things You SHOULD Know About Postman por Postman
Five Things You SHOULD Know About PostmanFive Things You SHOULD Know About Postman
Five Things You SHOULD Know About Postman
Postman27 visualizações
Special_edition_innovator_2023.pdf por WillDavies22
Special_edition_innovator_2023.pdfSpecial_edition_innovator_2023.pdf
Special_edition_innovator_2023.pdf
WillDavies2216 visualizações
Roadmap to Become Experts.pptx por dscwidyatamanew
Roadmap to Become Experts.pptxRoadmap to Become Experts.pptx
Roadmap to Become Experts.pptx
dscwidyatamanew11 visualizações
Digital Product-Centric Enterprise and Enterprise Architecture - Tan Eng Tsze por NUS-ISS
Digital Product-Centric Enterprise and Enterprise Architecture - Tan Eng TszeDigital Product-Centric Enterprise and Enterprise Architecture - Tan Eng Tsze
Digital Product-Centric Enterprise and Enterprise Architecture - Tan Eng Tsze
NUS-ISS19 visualizações
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 visualizações
Business Analyst Series 2023 - Week 3 Session 5 por DianaGray10
Business Analyst Series 2023 -  Week 3 Session 5Business Analyst Series 2023 -  Week 3 Session 5
Business Analyst Series 2023 - Week 3 Session 5
DianaGray10209 visualizações
Web Dev - 1 PPT.pdf por gdsczhcet
Web Dev - 1 PPT.pdfWeb Dev - 1 PPT.pdf
Web Dev - 1 PPT.pdf
gdsczhcet55 visualizações
RADIUS-Omnichannel Interaction System por RADIUS
RADIUS-Omnichannel Interaction SystemRADIUS-Omnichannel Interaction System
RADIUS-Omnichannel Interaction System
RADIUS15 visualizações
Empathic Computing: Delivering the Potential of the Metaverse por Mark Billinghurst
Empathic Computing: Delivering  the Potential of the MetaverseEmpathic Computing: Delivering  the Potential of the Metaverse
Empathic Computing: Delivering the Potential of the Metaverse
Mark Billinghurst470 visualizações
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 visualizações
Upskilling the Evolving Workforce with Digital Fluency for Tomorrow's Challen... por NUS-ISS
Upskilling the Evolving Workforce with Digital Fluency for Tomorrow's Challen...Upskilling the Evolving Workforce with Digital Fluency for Tomorrow's Challen...
Upskilling the Evolving Workforce with Digital Fluency for Tomorrow's Challen...
NUS-ISS28 visualizações
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 visualizações
handbook for web 3 adoption.pdf por Liveplex
handbook for web 3 adoption.pdfhandbook for web 3 adoption.pdf
handbook for web 3 adoption.pdf
Liveplex19 visualizações
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 visualizações
Voice Logger - Telephony Integration Solution at Aegis por Nirmal Sharma
Voice Logger - Telephony Integration Solution at AegisVoice Logger - Telephony Integration Solution at Aegis
Voice Logger - Telephony Integration Solution at Aegis
Nirmal Sharma17 visualizações

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