Выпуск Cilium 1.1, сетевой системы для Linux-контейнеров, основанной на BPF
3 июля 2018 года
Подготовлен релиз проекта Cilium 1.1, в рамках которого при участии компаний Google, Facebook, Netflix и Red Hat развивается система для обеспечения сетевого взаимодействия и применения политик безопасности для изолированных контейнеров и процессов. Для разграничения сетевого доступа в Cilium применяются еBPF (Berkeley Packet Filter) и XDP (eXpress Data Path). Код компонентов, работающих на уровне пользователя, написаны на языке Go и распространяются под лицензией Apache 2.0. Загружаемые в ядро Linux сценарии BPF доступны под лицензией GPLv2.
Основу Cilium составляет фоновый процесс, который работает в пространстве пользователя и выполняет работу по генерированию и компилированию BPF-программ, а также взаимодействию с runtime, обеспечивающим работу контейнеров. В форме BPF-программ реализованы системы обеспечения связности контейнеров, интеграции с сетевой подсистемой (физические и виртуальные сети, VXLAN, Geneve) и балансировки нагрузки. Фоновый процесс дополняют управляющий cli-интерфейс, репозиторий правил доступа, система мониторинга и модули интеграции с поддержкой Kubernetes, Mesos и Docker. Более подробно про особенности Cilium можно прочитать в тексте анонса первого выпуска проекта.
Основные новшества:
- Возможность интеграции с платформой управления микросервисами Istio, которая обеспечивает распределение нагрузки между микросервисами, организует аутентификацию, разграничение доступа и защищённое взаимодействие между микросервисами, превращая набор запущенных в разных контейнерах микросервисов в приложение, слаженно работающее как единое целое;
- Поддержка дополнительных runtime для обеспечения работы контейнеров - cri-o и containerd. Имеющийся runtime определяется автоматически, но может быть явно выбран при помощи опции "--container-runtime";
- Улучшение поддержки Kubernetes: поддержка дополнительных политик безопасности Kubernetes 1.11 (podSelector и namespaceSelector), возможность сопоставления данных аккаунтинга, возможность разделения локального трафика (например, проверок мониторинга) и трафика к внешним узлам через SNAT;
- Возможность определения комбинированных правил с номером сетевого порта (IP+L4) и названием протокола (L7), применяемых только вместе с проверкой по IP/CIDR;
- Оптимизация производительности системы отслеживания соединений: Возможность отбрасывания записей отслеживания соединений, если соединения подпадает под правило блокировки трафика. Более агрессивная чистка таблиц отслеживания соединений для не TCP-трафика;
- Повышение производительности механизмов идентификации и обработки MTU;
- Поддержка дополнительных метрик мониторинга производительности: добавление счётчиков перенаправления и отбрасывания трафика для
L3/L4/L7.
- Возможность изменения или добавления IP-адреса хоста с автоматическим применением определённых для хоста правил. Обеспечение непрерывной синхронизации правил и выполняющих их проверку BPF-программ. Поддержка TCP keepalive;
- Базовый образ контейнера обновлён до пакетной базы Ubuntu 18.04.
Источники
править
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.