Cilium 1.6: networking Kubernetes basato su eBPF

Cilium 1.6 (novembre 2019) di Isovalent (Thomas Graf): CNI per Kubernetes costruito su eBPF, bypass di iptables per performance, network policies L3-L7, observability con Hubble, service mesh integrata. CNCF Incubating.

Open SourceWebCyber Security CiliumeBPFCNIKubernetesNetworkingIsovalentCloudOpen Source

Kubernetes network dall’eBPF

Kubernetes gestisce pod-to-pod networking via CNI plugin. Le implementazioni tradizionali (Flannel, Calico, Weave) si appoggiano a iptables/netfilter e routing Linux standard. Con crescita del cluster a migliaia di pod, iptables diventa collo di bottiglia (O(n) su regole).

Cilium — avviato nel 2015 da Thomas Graf e team (azienda Isovalent) — reimplementa networking, security, load balancing direttamente in eBPF. La versione 1.6 del 11 novembre 2019 è considerata production-ready. Licenza Apache 2.0. CNCF Incubating da 2021 (Graduated 2023).

eBPF come kernel-level runtime

eBPF (extended Berkeley Packet Filter) è un runtime sicuro all’interno del kernel Linux dove programmi verificati eseguono senza context switch. Cilium usa eBPF per:

  • Packet filtering e routing direttamente nel kernel, bypass iptables
  • Network policies implementate come programmi eBPF allegati a interface XDP o tc
  • Load balancing kube-proxy-free — sostituisce iptables-based kube-proxy
  • Transparent encryption (IPsec, WireGuard)
  • Observabilitytc hooks osservano tutti i pacchetti

Network Policies L3-L7

Le Kubernetes NetworkPolicy standard sono limitate a L3/L4 (IP, porta). Cilium estende a L7: policy che capiscono HTTP (path, method, headers), gRPC (service, method), Kafka (topic), DNS.

Esempio CiliumNetworkPolicy:

apiVersion: cilium.io/v2
kind: CiliumNetworkPolicy
metadata:
  name: allow-get-only
spec:
  endpointSelector:
    matchLabels:
      app: api
  ingress:
  - toPorts:
    - ports:
      - port: "8080"
      rules:
        http:
        - method: "GET"
          path: "/api/v1/.*"

Hubble

Hubble (parte di Cilium dal 2019) è il sottosistema di observability: vede tutto il traffico cluster con granularità flow-level, expose metriche Prometheus e tracing. UI web mostra grafo di comunicazione tra service.

ClusterMesh

Al 2019 Cilium introduce ClusterMesh: connessione sicura tra cluster Kubernetes multipli, con service discovery cross-cluster e policy enforcement. Utile per multi-region, disaster recovery, federated deployments.

Adozione

Cilium è il default CNI di:

  • Google GKE Dataplane V2 (2020)
  • AWS EKS (opzione, 2022)
  • OpenShift (supportato)
  • Alibaba Cloud, Datadog Cloud
  • Grandi installazioni K8s on-premise: Adobe, Cloudflare, Capital One, Bell Canada

Nel contesto italiano

Al 2019-2020 Cilium è esplorato da:

  • Banche e assicurazioni con cluster K8s multi-tenant
  • Cloud provider italiani come opzione premium
  • System integrator che offrono K8s managed

L’adozione cresce nei tre anni successivi con la maturazione di eBPF e la commoditizzazione di Cilium nei cloud pubblici.


Riferimenti: Cilium 1.6 (11 novembre 2019). Isovalent (Thomas Graf, co-founder). Licenza Apache 2.0. CNCF Incubating (2021) → Graduated (2023). eBPF runtime. Hubble observability. ClusterMesh. Integrazione GKE Dataplane V2 (2020), EKS opzionale.

Vuoi supporto? Sei sotto attacco? Stato dei servizi
Vuoi supporto? Sei sotto attacco? Stato dei servizi