ContainerDays Hamburg 2023 — Cilium Workshop.pdf

Raphaël PINSON
Raphaël PINSONInfrastructure Developer & Trainer à 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 sur 66

Recommandé

The Complete Guide to Service Mesh par
The Complete Guide to Service MeshThe Complete Guide to Service Mesh
The Complete Guide to Service MeshAspen Mesh
436 vues43 diapositives
cilium-public.pdf par
cilium-public.pdfcilium-public.pdf
cilium-public.pdfSanjeev Rampal
78 vues38 diapositives
Migrating from Self-Managed Kubernetes on EC2 to a GitOps Enabled EKS par
Migrating from Self-Managed Kubernetes on EC2 to a GitOps Enabled EKSMigrating from Self-Managed Kubernetes on EC2 to a GitOps Enabled EKS
Migrating from Self-Managed Kubernetes on EC2 to a GitOps Enabled EKSWeaveworks
602 vues34 diapositives
ArgoCD Meetup PPT final.pdf par
ArgoCD Meetup PPT final.pdfArgoCD Meetup PPT final.pdf
ArgoCD Meetup PPT final.pdfamanmakwana3
682 vues14 diapositives
Elastic-Engineering par
Elastic-EngineeringElastic-Engineering
Elastic-EngineeringAraf Karsh Hamid
532 vues83 diapositives
Hands-on SaaS: Constructing multi-tenant solutions with AWS - SVC307 - New Yo... par
Hands-on SaaS: Constructing multi-tenant solutions with AWS - SVC307 - New Yo...Hands-on SaaS: Constructing multi-tenant solutions with AWS - SVC307 - New Yo...
Hands-on SaaS: Constructing multi-tenant solutions with AWS - SVC307 - New Yo...Amazon Web Services
1.7K vues25 diapositives

Contenu connexe

Tendances

Envoy and Kafka par
Envoy and KafkaEnvoy and Kafka
Envoy and KafkaAdam Kotwasinski
914 vues45 diapositives
GitOps 101 Presentation.pdf par
GitOps 101 Presentation.pdfGitOps 101 Presentation.pdf
GitOps 101 Presentation.pdfssuser31375f
431 vues63 diapositives
Rancher 2.0 - Complete Container Management Platform par
Rancher 2.0 - Complete Container Management PlatformRancher 2.0 - Complete Container Management Platform
Rancher 2.0 - Complete Container Management PlatformSebastiaan van Steenis
421 vues13 diapositives
Social Media Monitoring with NiFi, Druid and Superset par
Social Media Monitoring with NiFi, Druid and SupersetSocial Media Monitoring with NiFi, Druid and Superset
Social Media Monitoring with NiFi, Druid and SupersetThiago Santiago
1.2K vues15 diapositives
Service mesh par
Service meshService mesh
Service meshArnab Mitra
1.8K vues15 diapositives
Kubernetes Networking par
Kubernetes NetworkingKubernetes Networking
Kubernetes NetworkingCJ Cullen
26.7K vues91 diapositives

Tendances(20)

GitOps 101 Presentation.pdf par ssuser31375f
GitOps 101 Presentation.pdfGitOps 101 Presentation.pdf
GitOps 101 Presentation.pdf
ssuser31375f431 vues
Social Media Monitoring with NiFi, Druid and Superset par Thiago Santiago
Social Media Monitoring with NiFi, Druid and SupersetSocial Media Monitoring with NiFi, Druid and Superset
Social Media Monitoring with NiFi, Druid and Superset
Thiago Santiago1.2K vues
Kubernetes Networking par CJ Cullen
Kubernetes NetworkingKubernetes Networking
Kubernetes Networking
CJ Cullen26.7K vues
Introduction to Istio on Kubernetes par Jonh Wendell
Introduction to Istio on KubernetesIntroduction to Istio on Kubernetes
Introduction to Istio on Kubernetes
Jonh Wendell2.2K vues
Gitops: the kubernetes way par sparkfabrik
Gitops: the kubernetes wayGitops: the kubernetes way
Gitops: the kubernetes way
sparkfabrik2.1K vues
Pivotal Container Service Overview par VMware Tanzu
Pivotal Container Service Overview Pivotal Container Service Overview
Pivotal Container Service Overview
VMware Tanzu1.4K vues
Open shift 4 infra deep dive par Winton Winton
Open shift 4    infra deep diveOpen shift 4    infra deep dive
Open shift 4 infra deep dive
Winton Winton16.3K vues
The Service Mesh: It's about Traffic par C4Media
The Service Mesh: It's about TrafficThe Service Mesh: It's about Traffic
The Service Mesh: It's about Traffic
C4Media900 vues
CD using ArgoCD(KnolX).pdf par Knoldus Inc.
CD using ArgoCD(KnolX).pdfCD using ArgoCD(KnolX).pdf
CD using ArgoCD(KnolX).pdf
Knoldus Inc.1.1K vues
Kubernetes GitOps featuring GitHub, Kustomize and ArgoCD par Sunnyvale
Kubernetes GitOps featuring GitHub, Kustomize and ArgoCDKubernetes GitOps featuring GitHub, Kustomize and ArgoCD
Kubernetes GitOps featuring GitHub, Kustomize and ArgoCD
Sunnyvale461 vues
Deep Dive: Building external auth plugins for Gloo Enterprise par Christian Posta
Deep Dive: Building external auth plugins for Gloo EnterpriseDeep Dive: Building external auth plugins for Gloo Enterprise
Deep Dive: Building external auth plugins for Gloo Enterprise
Christian Posta719 vues
Principles of System Observability par Janis Orlovs
Principles of System Observability Principles of System Observability
Principles of System Observability
Janis Orlovs523 vues

Similaire à ContainerDays Hamburg 2023 — Cilium Workshop.pdf

Cloud Native Networking & Security with Cilium & eBPF par
Cloud Native Networking & Security with Cilium & eBPFCloud Native Networking & Security with Cilium & eBPF
Cloud Native Networking & Security with Cilium & eBPFRaphaël PINSON
101 vues49 diapositives
Enhancing Network and Runtime Security with Cilium and Tetragon by Raymond De... par
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
104 vues48 diapositives
Protocol and Integration Challenges for SDN par
Protocol and Integration Challenges for SDNProtocol and Integration Challenges for SDN
Protocol and Integration Challenges for SDNGerardo Pardo-Castellote
1.1K vues31 diapositives
07 (IDNOG02) SDN Research activity in Institut Teknologi Bandung by Affan Bas... par
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 vues53 diapositives
DCEU 18: Docker Container Networking par
DCEU 18: Docker Container NetworkingDCEU 18: Docker Container Networking
DCEU 18: Docker Container NetworkingDocker, Inc.
821 vues32 diapositives
Cilium - Fast IPv6 Container Networking with BPF and XDP par
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 vues23 diapositives

Similaire à ContainerDays Hamburg 2023 — Cilium Workshop.pdf(20)

Cloud Native Networking & Security with Cilium & eBPF par Raphaël PINSON
Cloud Native Networking & Security with Cilium & eBPFCloud Native Networking & Security with Cilium & eBPF
Cloud Native Networking & Security with Cilium & eBPF
Raphaël PINSON101 vues
DCEU 18: Docker Container Networking par Docker, Inc.
DCEU 18: Docker Container NetworkingDCEU 18: Docker Container Networking
DCEU 18: Docker Container Networking
Docker, Inc.821 vues
Cilium - Fast IPv6 Container Networking with BPF and XDP par Thomas Graf
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 XDP
Thomas Graf8.6K vues
How to Implement SDN Technology in ITB par SDNRG ITB
How to Implement SDN Technology in ITBHow to Implement SDN Technology in ITB
How to Implement SDN Technology in ITB
SDNRG ITB 2.8K vues
Cilium:: Application-Aware Microservices via BPF par Cynthia Thomas
Cilium:: Application-Aware Microservices via BPFCilium:: Application-Aware Microservices via BPF
Cilium:: Application-Aware Microservices via BPF
Cynthia Thomas411 vues
Osnug meetup-tungsten fabric - overview.pptx par M.Qasim Arham
Osnug meetup-tungsten fabric - overview.pptxOsnug meetup-tungsten fabric - overview.pptx
Osnug meetup-tungsten fabric - overview.pptx
M.Qasim Arham607 vues
DevOpsDays Houston 2019 - Dan Kirkpatrick - My Kubernetes Tool Chain: Open-So... par 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...
Kubernetes Networking 101 par Kublr
Kubernetes Networking 101Kubernetes Networking 101
Kubernetes Networking 101
Kublr87 vues
Docker network performance in the public cloud par 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 vues
Docker network performance in the public cloud par ContainerCamp
Docker network performance in the public cloudDocker network performance in the public cloud
Docker network performance in the public cloud
ContainerCamp412 vues
Can i service this from my raspberry pi par 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 vues
Cloud Native Bern 05.2023 — Zero Trust Visibility par 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 vues
Kubernetes @ Squarespace (SRE Portland Meetup October 2017) par 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 vues
IRATI: an open source RINA implementation for Linux/OS par 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 vues

Plus de Raphaël PINSON

KCD Zurich 2023 — Bridge Dev & Ops with eBPF.pdf par
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 vues43 diapositives
DevOpsDays Zurich 2023 — Bridging Dev and Ops with eBPF: Extending Observabil... par
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 vues42 diapositives
Révolution eBPF - un noyau dynamique par
Révolution eBPF - un noyau dynamiqueRévolution eBPF - un noyau dynamique
Révolution eBPF - un noyau dynamiqueRaphaël PINSON
200 vues70 diapositives
Cfgmgmtcamp 2023 — eBPF Superpowers par
Cfgmgmtcamp 2023 — eBPF SuperpowersCfgmgmtcamp 2023 — eBPF Superpowers
Cfgmgmtcamp 2023 — eBPF SuperpowersRaphaël PINSON
110 vues72 diapositives
2022 DevOpsDays Geneva — The Hare and the Tortoise.pdf par
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 vues22 diapositives
SKS in git ops mode par
SKS in git ops modeSKS in git ops mode
SKS in git ops modeRaphaël PINSON
359 vues21 diapositives

Plus de Raphaël PINSON(20)

KCD Zurich 2023 — Bridge Dev & Ops with eBPF.pdf par 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 vues
DevOpsDays Zurich 2023 — Bridging Dev and Ops with eBPF: Extending Observabil... par 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 vues
Révolution eBPF - un noyau dynamique par Raphaël PINSON
Révolution eBPF - un noyau dynamiqueRévolution eBPF - un noyau dynamique
Révolution eBPF - un noyau dynamique
Raphaël PINSON200 vues
Cfgmgmtcamp 2023 — eBPF Superpowers par Raphaël PINSON
Cfgmgmtcamp 2023 — eBPF SuperpowersCfgmgmtcamp 2023 — eBPF Superpowers
Cfgmgmtcamp 2023 — eBPF Superpowers
Raphaël PINSON110 vues
2022 DevOpsDays Geneva — The Hare and the Tortoise.pdf par 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 vues
The Hare and the Tortoise: Open Source, Standards & Technological Debt par 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 vues
YAML Engineering: why we need a new paradigm par 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 vues
Container Security: a toolchain for automatic image rebuilds par 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 vues
K9s - Kubernetes CLI To Manage Your Clusters In Style par 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 PINSON132 vues
Running the Puppet Stack in Containers par Raphaël PINSON
Running the Puppet Stack in ContainersRunning the Puppet Stack in Containers
Running the Puppet Stack in Containers
Raphaël PINSON119 vues
Automating Puppet Certificates Renewal par Raphaël PINSON
Automating Puppet Certificates RenewalAutomating Puppet Certificates Renewal
Automating Puppet Certificates Renewal
Raphaël PINSON406 vues
FTTH Factory — an illustration of the "Everything as Code" paradigm par 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 vues
Puppet Test Driven Development with Travis CI and Docker par 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 vues
Orchestrated Functional Testing with Puppet-spec and Mspectator par 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 vues

Dernier

Generative AI: Shifting the AI Landscape par
Generative AI: Shifting the AI LandscapeGenerative AI: Shifting the AI Landscape
Generative AI: Shifting the AI LandscapeDeakin University
53 vues55 diapositives
Backup and Disaster Recovery with CloudStack and StorPool - Workshop - Venko ... par
Backup and Disaster Recovery with CloudStack and StorPool - Workshop - Venko ...Backup and Disaster Recovery with CloudStack and StorPool - Workshop - Venko ...
Backup and Disaster Recovery with CloudStack and StorPool - Workshop - Venko ...ShapeBlue
184 vues12 diapositives
Future of AR - Facebook Presentation par
Future of AR - Facebook PresentationFuture of AR - Facebook Presentation
Future of AR - Facebook PresentationRob McCarty
64 vues27 diapositives
Live Demo Showcase: Unveiling Dell PowerFlex’s IaaS Capabilities with Apache ... par
Live Demo Showcase: Unveiling Dell PowerFlex’s IaaS Capabilities with Apache ...Live Demo Showcase: Unveiling Dell PowerFlex’s IaaS Capabilities with Apache ...
Live Demo Showcase: Unveiling Dell PowerFlex’s IaaS Capabilities with Apache ...ShapeBlue
126 vues10 diapositives
"Surviving highload with Node.js", Andrii Shumada par
"Surviving highload with Node.js", Andrii Shumada "Surviving highload with Node.js", Andrii Shumada
"Surviving highload with Node.js", Andrii Shumada Fwdays
56 vues29 diapositives
CloudStack Managed User Data and Demo - Harikrishna Patnala - ShapeBlue par
CloudStack Managed User Data and Demo - Harikrishna Patnala - ShapeBlueCloudStack Managed User Data and Demo - Harikrishna Patnala - ShapeBlue
CloudStack Managed User Data and Demo - Harikrishna Patnala - ShapeBlueShapeBlue
135 vues13 diapositives

Dernier(20)

Backup and Disaster Recovery with CloudStack and StorPool - Workshop - Venko ... par ShapeBlue
Backup and Disaster Recovery with CloudStack and StorPool - Workshop - Venko ...Backup and Disaster Recovery with CloudStack and StorPool - Workshop - Venko ...
Backup and Disaster Recovery with CloudStack and StorPool - Workshop - Venko ...
ShapeBlue184 vues
Future of AR - Facebook Presentation par Rob McCarty
Future of AR - Facebook PresentationFuture of AR - Facebook Presentation
Future of AR - Facebook Presentation
Rob McCarty64 vues
Live Demo Showcase: Unveiling Dell PowerFlex’s IaaS Capabilities with Apache ... par ShapeBlue
Live Demo Showcase: Unveiling Dell PowerFlex’s IaaS Capabilities with Apache ...Live Demo Showcase: Unveiling Dell PowerFlex’s IaaS Capabilities with Apache ...
Live Demo Showcase: Unveiling Dell PowerFlex’s IaaS Capabilities with Apache ...
ShapeBlue126 vues
"Surviving highload with Node.js", Andrii Shumada par Fwdays
"Surviving highload with Node.js", Andrii Shumada "Surviving highload with Node.js", Andrii Shumada
"Surviving highload with Node.js", Andrii Shumada
Fwdays56 vues
CloudStack Managed User Data and Demo - Harikrishna Patnala - ShapeBlue par ShapeBlue
CloudStack Managed User Data and Demo - Harikrishna Patnala - ShapeBlueCloudStack Managed User Data and Demo - Harikrishna Patnala - ShapeBlue
CloudStack Managed User Data and Demo - Harikrishna Patnala - ShapeBlue
ShapeBlue135 vues
What’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlue par ShapeBlue
What’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlueWhat’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlue
What’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlue
ShapeBlue263 vues
Extending KVM Host HA for Non-NFS Storage - Alex Ivanov - StorPool par ShapeBlue
Extending KVM Host HA for Non-NFS Storage -  Alex Ivanov - StorPoolExtending KVM Host HA for Non-NFS Storage -  Alex Ivanov - StorPool
Extending KVM Host HA for Non-NFS Storage - Alex Ivanov - StorPool
ShapeBlue123 vues
Keynote Talk: Open Source is Not Dead - Charles Schulz - Vates par ShapeBlue
Keynote Talk: Open Source is Not Dead - Charles Schulz - VatesKeynote Talk: Open Source is Not Dead - Charles Schulz - Vates
Keynote Talk: Open Source is Not Dead - Charles Schulz - Vates
ShapeBlue252 vues
Hypervisor Agnostic DRS in CloudStack - Brief overview & demo - Vishesh Jinda... par ShapeBlue
Hypervisor Agnostic DRS in CloudStack - Brief overview & demo - Vishesh Jinda...Hypervisor Agnostic DRS in CloudStack - Brief overview & demo - Vishesh Jinda...
Hypervisor Agnostic DRS in CloudStack - Brief overview & demo - Vishesh Jinda...
ShapeBlue161 vues
Zero to Cloud Hero: Crafting a Private Cloud from Scratch with XCP-ng, Xen Or... par ShapeBlue
Zero to Cloud Hero: Crafting a Private Cloud from Scratch with XCP-ng, Xen Or...Zero to Cloud Hero: Crafting a Private Cloud from Scratch with XCP-ng, Xen Or...
Zero to Cloud Hero: Crafting a Private Cloud from Scratch with XCP-ng, Xen Or...
ShapeBlue198 vues
DRaaS using Snapshot copy and destination selection (DRaaS) - Alexandre Matti... par ShapeBlue
DRaaS using Snapshot copy and destination selection (DRaaS) - Alexandre Matti...DRaaS using Snapshot copy and destination selection (DRaaS) - Alexandre Matti...
DRaaS using Snapshot copy and destination selection (DRaaS) - Alexandre Matti...
ShapeBlue139 vues
VNF Integration and Support in CloudStack - Wei Zhou - ShapeBlue par ShapeBlue
VNF Integration and Support in CloudStack - Wei Zhou - ShapeBlueVNF Integration and Support in CloudStack - Wei Zhou - ShapeBlue
VNF Integration and Support in CloudStack - Wei Zhou - ShapeBlue
ShapeBlue203 vues
Why and How CloudStack at weSystems - Stephan Bienek - weSystems par ShapeBlue
Why and How CloudStack at weSystems - Stephan Bienek - weSystemsWhy and How CloudStack at weSystems - Stephan Bienek - weSystems
Why and How CloudStack at weSystems - Stephan Bienek - weSystems
ShapeBlue238 vues
Import Export Virtual Machine for KVM Hypervisor - Ayush Pandey - University ... par ShapeBlue
Import Export Virtual Machine for KVM Hypervisor - Ayush Pandey - University ...Import Export Virtual Machine for KVM Hypervisor - Ayush Pandey - University ...
Import Export Virtual Machine for KVM Hypervisor - Ayush Pandey - University ...
ShapeBlue119 vues
Centralized Logging Feature in CloudStack using ELK and Grafana - Kiran Chava... par ShapeBlue
Centralized Logging Feature in CloudStack using ELK and Grafana - Kiran Chava...Centralized Logging Feature in CloudStack using ELK and Grafana - Kiran Chava...
Centralized Logging Feature in CloudStack using ELK and Grafana - Kiran Chava...
ShapeBlue145 vues
The Role of Patterns in the Era of Large Language Models par Yunyao Li
The Role of Patterns in the Era of Large Language ModelsThe Role of Patterns in the Era of Large Language Models
The Role of Patterns in the Era of Large Language Models
Yunyao Li85 vues
DRBD Deep Dive - Philipp Reisner - LINBIT par ShapeBlue
DRBD Deep Dive - Philipp Reisner - LINBITDRBD Deep Dive - Philipp Reisner - LINBIT
DRBD Deep Dive - Philipp Reisner - LINBIT
ShapeBlue180 vues
Webinar : Desperately Seeking Transformation - Part 2: Insights from leading... par The Digital Insurer
Webinar : Desperately Seeking Transformation - Part 2:  Insights from leading...Webinar : Desperately Seeking Transformation - Part 2:  Insights from leading...
Webinar : Desperately Seeking Transformation - Part 2: Insights from leading...
CloudStack and GitOps at Enterprise Scale - Alex Dometrius, Rene Glover - AT&T par ShapeBlue
CloudStack and GitOps at Enterprise Scale - Alex Dometrius, Rene Glover - AT&TCloudStack and GitOps at Enterprise Scale - Alex Dometrius, Rene Glover - AT&T
CloudStack and GitOps at Enterprise Scale - Alex Dometrius, Rene Glover - AT&T
ShapeBlue152 vues

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