Cilium
Networking, seguridad y observabilidad para Kubernetes impulsados por eBPF
Cilium es una solución de networking, seguridad y observabilidad para Kubernetes construida sobre eBPF, una tecnología del kernel de Linux que permite a Cilium ejecutar la lógica de red y seguridad directamente en el kernel, sin la sobrecarga de los enfoques tradicionales basados en iptables.
Cómo funciona
Cilium se ejecuta como un plugin CNI (Container Network Interface) de Kubernetes, lo que le da visibilidad sobre el tráfico de red de cada Pod. Como su plano de datos está implementado en programas eBPF que se ejecutan en el kernel, puede aplicar network policies, balancear carga y cifrar la comunicación entre Pods con mucha menos sobrecarga que las alternativas basadas en proxies o iptables. También trabaja con identidades (Pods, servicios) en lugar de solo direcciones IP en bruto.
Conceptos clave
- eBPF — una tecnología del kernel de Linux que permite a Cilium adjuntar programas personalizados a eventos de red sin módulos del kernel ni parches externos.
- CiliumNetworkPolicy — un recurso de network policy extendido que admite reglas de capa 3 a 7, incluidas reglas conscientes de HTTP como restringir las rutas de API permitidas.
- Identity (identidad) — Cilium asigna una identidad de seguridad a grupos de Pods que comparten etiquetas, de modo que la política y la observabilidad se expresan en términos de cargas de trabajo, no de IP efímeras.
- Hubble — el componente de observabilidad de Cilium, que ofrece una vista en vivo, a nivel de flujo, del tráfico de red y de las decisiones de política en todo el clúster.
Por qué los equipos adoptan Cilium
- Rendimiento. Los planos de datos basados en eBPF evitan la sobrecarga por paquete de las cadenas de iptables, lo que importa a escala.
- Política consciente de la identidad. Las network policies se definen en términos de identidad de la carga de trabajo e incluso de semántica de la capa de aplicación, no solo de tuplas IP/puerto.
- Visibilidad profunda. Hubble ofrece una vista en tiempo real, por flujo, del tráfico y la aplicación de políticas en todo el clúster, útil tanto para depuración como para auditoría.
- Más allá de la CNI. Cilium también puede encargarse del balanceo de carga, reemplazar kube-proxy y extenderse hasta el plano de datos de un service mesh.
Primeros pasos
Instala Cilium como la CNI de tu clúster (muchas ofertas administradas de Kubernetes lo admiten como complemento de red soportado) y luego define recursos CiliumNetworkPolicy para controlar el tráfico entre cargas de trabajo. Las guías siguientes cubren patrones comunes de políticas y cómo obtener visibilidad con Hubble.