Перейти к содержанию

Релиз Cilium 1.20: расширение Gateway API, плагины eBPF и оптимизация

6.0/10

Контекст

Масштабирование Kubernetes-инфраструктуры требует от сетевых решений единого управления трафиком, портативных стандартов и гибкой адаптации под облачных провайдеров. Ранее Cilium имел функциональные разрывы: режим AWS ENI IPAM поддерживал только IPv4, использование высокопроизводительного сетевого драйвера netkit требовало ручного разделения узлов по версиям ядра, а расширение eBPF-датапата сторонним кодом вынуждало поддерживать собственные форки проекта.

Суть

Cilium 1.20 устраняет эти ограничения, добавляя поддержку IPv6 для AWS ENI IPAM с делегированием префиксов /80 на ENI узла и внедряя режим `bpf.datapathMode=auto`, который автоматически выбирает netkit при наличии ядра Linux 6.8+ или незаметно возвращается к veth. Для кастомизации сетевого стека разработчики Google представили плагины datapath (beta): сторонний eBPF-код теперь запускается в отдельном процессе и изолированно подключается к Cilium через CRD `CiliumDatapathPlugin`, исключая необходимость форкать CNI. В части Gateway API (обновлен до v1.6) добавлены внешняя аутентификация (ExternalAuth), поддержка L4-маршрутизации через TCPRoute и UDPRoute, фильтры CORS и механизм ListenerSets для делегирования настройки слушателей продуктовым командам. Операционные улучшений включают сокращение размера бинарного файла `cilium-cni` на 79% (с 76 до 16 МБ), стабилизацию стандартизированного Kubernetes Multi-Cluster Services API (MCS-API), возможность бесшовного перехода на multi-pool IPAM и агрегацию wildcard-записей в BPF-картах для сущностей `world` и `remote-node`.

Вывод

Cilium 1.20 развивает CNI в сторону модульной сетевой операционной системы, объединяющей передовые eBPF-оптимизации с портативными стандартами Kubernetes для эффективного управления L4/L7-трафиком на любом масштабе.