The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Выпуск Cilium 1.1, сетевой системы для Linux-контейнеров, основанной на BPF

03.07.2018 15:50

Подготовлен релиз проекта 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.


  1. Главная ссылка к новости (https://cilium.io/blog/2018/06...)
  2. OpenNews: Google представил Cilium, сетевую систему для Linux-контейнеров, основанную на BPF
  3. OpenNews: Выпуск Cilium 1.0, сетевой системы для Linux-контейнеров, основанной на BPF
  4. OpenNews: Google и IBM представили Istio, платформу для управления микросервисами
  5. OpenNews: Критические уязвимости в подсистеме eBPF ядра Linux
  6. OpenNews: В состав ядра 4.18 одобрено включение нового пакетного фильтра bpfilter
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/48897-bpf
Ключевые слова: bpf, cilium
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (13) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Однако (?), 17:18, 03/07/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >Загружаемые в ядро Linux сценарии BPF доступны под лицензией GPLv2.

    К создаваемым машиной идеям относятся как к объектам авторского права, причем не их создатели.

     
     
  • 2.3, Аноним (3), 17:35, 03/07/2018 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Учитывая то, что сценарии скомпилированы из внутреннего представления, которое скорее всего не сериализуется и не поставляется с ними, как и копия лицензии, нет ли тут нарушения GPL?
     

  • 1.2, Анонимс (?), 17:29, 03/07/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    > Код компонентов,

    работающих на уровне
    пользователя, написаны на
    языке Go
    А почему не на С/С++? В Гугле не умеют кодить на сишечке и плюсах?

     
     
  • 2.5, Аноним (5), 18:19, 03/07/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Да вообще, чего они за этот Go вцепились, ведь, у них же есть их фирменный Dart?
     
     
  • 3.7, Аноним (7), 18:45, 03/07/2018 [^] [^^] [^^^] [ответить]  
  • +4 +/
    А го не их фирменный?
     
  • 2.12, Sfinx (ok), 05:09, 04/07/2018 [^] [^^] [^^^] [ответить]  
  • –12 +/
    исключительно на с/c++ кодят только скрепные нищ#еброды для устаревшего железа. а google может себе позволить докупить серверов в кластер если вдруг производительности не хватит, но тут разница c++/go и так невелика. а вот  скорость и стоимость разработки давно не в пользу c/c++. на смену языкам 80-ых приходят современные языки для современного железа, кто этого не желает догонять - ошивается на обочине, пописывая freebsd драйверки для ISA шины или патча KDE в надежде сократить занимаемый обьем, такой дорогой нынче в сельпо Мухосранска, памяти
     
     
  • 3.20, Аноним (20), 12:01, 04/07/2018 [^] [^^] [^^^] [ответить]  
  • +7 +/
    > современные языки для современного железа
    > такой дорогой нынче в сельпо Мухосранска, памяти

    Вся суть хипстеров в IT: "Оптимизация это сложна-а!!! Я не собираюсь учиться писать код правильно, я не буду оптимизировать программы! Тяп-ляп и в продакшен! Покупайте память, нищeбрoды!!!"

     
     
  • 4.31, Sfinx (ok), 13:58, 23/09/2018 [^] [^^] [^^^] [ответить]  
  • +/
    >> современные языки для современного железа
    >> такой дорогой нынче в сельпо Мухосранска, памяти
    > Вся суть хипстеров в IT: "Оптимизация это сложна-а!!! Я не собираюсь учиться
    > писать код правильно, я не буду оптимизировать программы! Тяп-ляп и в
    > продакшен! Покупайте память, нищeбрoды!!!"

    ну да, Гугель как самый главный нище#брод тут канешна попал...

     
  • 2.22, nemo (??), 12:31, 04/07/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Потому, что клиентская часть взаимодействует с kubernetes API, а кубернетес, внезапно, написан на гоу. Вполне логично писать клиентскую часть на гоу же -- будет проще юзать готовые либы. Часть кода, которая про BPF, написана на сях.
     

  • 1.11, Аноним (11), 01:39, 04/07/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Go разработан по мотивам Limbo из Plan-9, с частичным привлечением тех же разработчиков.

    Но дело не в фирменности, а в том, что Dart и Go имеют разное предназначение.

    С/С++ на сегодняшний день устарел по ряду показателей: "ездить" на нём можно, но нужно ли?

    К слову, до 2014 года Гуглы для ряда своих сервисов пользовались связкой Python+C, пока на Go не перевели. А для некоторых разработок продолжают пользоваться C++, но с явным уклоном в LLVM компиляцию.

     
     
  • 2.17, scorry (ok), 11:31, 04/07/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > С/С++ на сегодняшний день устарел по ряду показателей: "ездить" на нём можно,
    > но нужно ли?

    Хотелось бы поинтересоваться наличием умственно неполноценных в вашем роду, но не буду: и так всё видно.

     
  • 2.30, angra (ok), 08:10, 05/07/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > Go разработан по мотивам Limbo из Plan-9, с частичным привлечением тех же разработчиков.

    А те самые разработчики об этой твоей фантазии хотя бы слышали? Языки, оказавшие влияние на Go давным давно известны и limbo среди них нет. Зато там есть такие языки как Newsqueak и CSP, которые оказали влияние на модель конкурентности(и только ее) как в Go, так и в Limbo. То есть у Go и Limbo есть общие предки, но напрямую друг от друга они независимы и весьма отличаются.

     

  • 1.16, qweo (?), 10:53, 04/07/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Limbo из Inferno, но это родственная P9 система, да.
    Кстати, есть транслятор из Java в Limbo, но Dis JVM не заменит, нет у него стольких оптимизаций.
    (Кстати, есть порт Inferno на Android, а ещё был проект (сообщества, не гугла) по замене Java и компании в роботе на Inferno (гуглить Hellaphone) - но работы на одной железяке они добились и успокоились. Жаль.)
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру