Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Cilium: one firewall 🔥 to secure them all

Cilium: one firewall 🔥 to secure them all

Kubernetes c’est cool ! Vous pouvez y héberger des services de technologies variées. Mais comment sécuriser une API REST, des communications gRPC entre les Pods ou une queue Kafka avec un seul outil ?

Cilium est un driver de network utilisé pour sécuriser un cluster kubernetes. Il gère la communication entre les composants à différents niveaux (L3, L4, L7) et offrant du load-balancing, du filtering, … Cilium est extrêmement performant car le filtrage se déroule directement en mode kernel.

Pendant ce talk, nous présenterons les concepts réseaux associés à Kubernetes et comment les sécuriser. Nous ferons une démonstration du projet Cilium et nous introduirons les concepts liés à eBPF. Nous vous donnerons alors notre retour sur le projet.

Pierre-Yves Aillet

April 18, 2019
Tweet

More Decks by Pierre-Yves Aillet

Other Decks in Technology

Transcript

  1. #DevoxxFR 2 Eric Briand Dev’ touche à tout à Zenika

    Nantes Organisateur du CNCF Meetup Nantes @eric_briand @ebriand Pierre-Yves Aillet Consultant formateur à Zenika Nantes @pyaillet @pyaillet
  2. #DevoxxFR 5 Architecture du SI events internal api kafka kafka

    zookeeper internal-frontend api events-frontend
  3. #DevoxxFR 7 Architecture de notre SI avec network policy events

    internal api kafka kafka zookeeper internal-frontend api events-frontend
  4. #DevoxxFR 9 Cilium • https://github.com/cilium/cilium • Go + C pour

    la partie BPF • Version 1.4 • Network addon Kubernetes • Sécurisation à différents niveaux
  5. #DevoxxFR 10 BPF Linux Kernel BPF Program BPF Virtual Machine

    syscall bpf(BPF_PROG_LOAD, ...); BPF Bytecode bcc
  6. #DevoxxFR 13 Architecture de notre SI v2 events internal api

    kafka kafka zookeeper internal-frontend api events-frontend
  7. #DevoxxFR 14 C’était cool ? • Installation avec l’operator simple

    mais architecture complexe • Le tooling pratique (ex : cilium policy trace) mais pas à tous les niveaux ! • Utilisation et syntaxe simples
  8. #DevoxxFR 15 Autres points intéressants • Bonnes perfs • Intégration

    avec Istio, Docker, Mesos • Chiffrement IPsec • Multicluster networking • Extensible pour d’autres protocoles
  9. #DevoxxFR Code & Références Sources : • https://github.com/ebriand/conf-cilium Références :

    • https://cilium.io/ • http://www.brendangregg.com/ebpf.html • https://jvns.ca/blog/2017/06/28/notes-on-bpf---ebpf/ • https://www.youtube.com/watch?v=_Iq1xxNZOAo • https://cilium.io/blog/2018/12/03/cni-performance • https://itnext.io/benchmark-results-of-kubernetes-networ k-plugins-cni-over-10gbit-s-network-updated-april-2019-4 a9886efe9c4