The OpenNET Project / Index page

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

форумы  помощь  поиск  регистрация  вход/выход  слежка  RSS
"Google представил Cilium, сетевую систему для Linux-контейне..."
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Google представил Cilium, сетевую систему для Linux-контейне..."  +/
Сообщение от opennews (??) on 03-Ноя-16, 11:42 
Компания Google представила (https://opensource.googleblog.com/2016/11/cilium-networking-...) проект Cilium (https://github.com/cilium/cilium), в рамках которого подготовлена система для обеспечения сетевого взаимодействия и применения политик безопасности для изолированных контейнеров, основанная на применении загружаемых в ядро Linux программ eBPF, генерируемых на лету. Проект создан в результате эксперимента по применению для контейнерной изоляции новых технологий ядра Linux, таких как BPF (https://en.wikipedia.org/wiki/Berkeley_Packet_Filter#Extensi...) (Berkeley Packet Filter) и XDP (https://www.iovisor.org/technology/xdp) (eXpress Data Path). Исходные тексты компонентов, работающих на уровне пользователя, написаны на языке Go и распространяются (https://github.com/cilium/cilium) под лицензией Apache 2.0. Загружаемые в ядро Linux сценарии BPF доступны под лицензией GPLv2.

Cilium состоит из специализированного фонового процесса, набора BPF-программ и модулей интеграции. Фоновый процесс работает в пространстве пользователя и выполняет работу по генерированию и компилированию BPF-программ, а также взаимодействует с runtime, обеспечивающим работу контейнеров. В форме BPF-программ реализованы системы обеспечения связности контейнеров, интеграции с сетевой подсистемой (физические и виртуальные сети, VXLAN, Geneve) и балансировки нагрузки. Модули интеграции предоставляются для CNI, Kubernetes и Docker.

eBPF представляет собой встроенный в ядро Linux интерпретатор байткода, позволяющий создавать обработчики сетевых операций, контролировать доступ и отслеживать работу систем, в том числе BPF-программы могут применяться для низкоуровневой обработки входящих/исходящих пакетов, принятия решений о перенаправлении пакетов, перехвата системных вызовов, контроля доступа и использования kprobes (https://www.kernel.org/doc/Documentation/kprobes.txt). XDP предоставляет средства для запуска BPF-программ на уровне сетевого драйвера, с возможностью прямого доступа к DMA-буферу пакетов, что позволяет создавать высокопроизводительные обработчики для работы в условиях большой сетевой нагрузки.

Программы для eBPF могут определяться на подмножестве языка C, компилироваться при помощи специального бэкенда LLVM и загружаться в ядро. Перед выполнением интерпретатор eBPF проверяет байткод на предмет применения разрешённых инструкций и налагает определённые правила на код (например, отсутствие циклов). Благодаря применению JIT-компиляции, байткод на лету транслируется в машинные инструкции и выполняется с производительностью нативного кода. При помощи программ BPF в Cilium реализованы такие возможности, как NAT64, балансировщики для сетевых уровней L3/L4, механизм отслеживания соединений, система маппинга сетевых портов, средства управления доступом, обработчики запросов NDisc и ARP, инкапсуляция пакетов через VXLAN, Geneve и GRE.


Из преимуществ применения Cilium для контейнерной изоляции отмечается:


-  Простота: каждому контейнеру назначен адрес IPv6 (опционально IPv4), все контейнеры соединены с одним общим виртуальным сетевым пространством с изоляцией через систему меток, привязанных к контейнерам. IPv6 выбран в качестве основной модели адресации с поддержкой IPv4 для обеспечения обратной совместимости;

-  Расширяемость: пользователи могут дополнить или адаптировать для своих нужд любой аспект работы BPF-программ. Возможности перенаправления и фильтрации пакетов не ограничиваются версией ядра и могут расширяться добавлением новых типов статистики, не поддерживаемых ядром, новыми обработчиками протоколов, внесением изменений в методы отслеживания соединений, реализацией дополнительной логики перенаправления пакетов;

-  Высокая производительность: JIT-компилятор позволяет добиться эффективного выполнения BPF-программ. Для каждого контейнера генерируются отдельные программы BPF, обеспечивающие только необходимую функциональность, что позволяет уменьшить размер выполняемого кода;

-  Возможность внесения изменений и исправлений в компоненты, отвечающие за обработку и перенаправление пакетов, без перезагрузки ядра, без разрыва установленных соединений и без остановки работающих контейнеров;

-  Интеграция эффективной системы мониторинга, которая может включаться по необходимости во время работы. Возможность отслеживать сетевую активность контейнеров в условиях высокой сетевой нагрузки без внесения задержек при обработке соединений.

URL: https://opensource.googleblog.com/2016/11/cilium-networking-...
Новость: http://www.opennet.ru/opennews/art.shtml?num=45421

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по ответам | RSS]

1. "Google представил Cilium, сетевую систему для Linux-контейне..."  +2 +/
Сообщение от Аноним (??) on 03-Ноя-16, 11:42 
кучеряво ... но как-то излишествами попахивает
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Google представил Cilium, сетевую систему для Linux-контейне..."  +/
Сообщение от SysA on 03-Ноя-16, 11:47 
для локалхоста?.. ;)
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

3. "Google представил Cilium, сетевую систему для Linux-контейне..."  +7 +/
Сообщение от anonymous (??) on 03-Ноя-16, 12:18 
Я что-то не понимаю, а чем плохи стандартные network namespace, множественные таблицы роутов, и нат через обычный файервол?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

4. "Google представил Cilium, сетевую систему для Linux-контейне..."  +5 +/
Сообщение от Аноним (??) on 03-Ноя-16, 12:29 
Грузим в ведро какой-то непонятный код, но при этом говорим о повышении безопасности каких-то контейнеров.
Что-то статья напоминает кашу из плохого перевода и профанации.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

5. "Google представил Cilium, сетевую систему для Linux-контейне..."  –7 +/
Сообщение от Аноним (??) on 03-Ноя-16, 12:30 
холокоста
Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

6. "Google представил Cilium, сетевую систему для Linux-контейне..."  +/
Сообщение от A.Stahl (ok) on 03-Ноя-16, 12:45 
На своём локалхосте можете и холокостом заниматься. Только не рассказывайте никому.
Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

9. "Google представил Cilium, сетевую систему для Linux-контейне..."  +/
Сообщение от Anonymouys528 on 03-Ноя-16, 13:12 
Посмотрите код, а потом говорим годный он или не очень.
Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

10. "Google представил Cilium, сетевую систему для Linux-контейне..."  +/
Сообщение от Аноним (??) on 03-Ноя-16, 13:32 
А ты вообще комментарий-то понял? Я говорю про то, что эти BPF программы непонятные (которые генерятся из кода юзера, судя по всему) грузятся и работают в ведре.

Какой код я должен смотреть и что там должно быть годным и не очень в итоге?

Ответить | Правка | ^ к родителю #9 | Наверх | Cообщить модератору

11. "Google представил Cilium, сетевую систему для Linux-контейне..."  –1 +/
Сообщение от Аноним (??) on 03-Ноя-16, 13:58 
> Программы для eBPF могут определяться на подмножестве языка C, компилироваться при помощи специального бэкенда LLVM

еще один гвоздь в гроб gcc.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

13. "Google представил Cilium, сетевую систему для Linux-контейне..."  +1 +/
Сообщение от Uri (??) on 03-Ноя-16, 14:26 
"не дождетесь" (с)
Ответить | Правка | ^ к родителю #11 | Наверх | Cообщить модератору

15. "Google представил Cilium, сетевую систему для Linux-контейне..."  +1 +/
Сообщение от evkogan on 03-Ноя-16, 15:50 
Присоединяюсь.
Если есть есть плюсы то может кто-то их опишет.
А заодно и минусы.
Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

16. "Google представил Cilium, сетевую систему для Linux-контейне..."  +/
Сообщение от KOT040188 (ok) on 03-Ноя-16, 16:40 
А клиент для дрйава не представил...
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

17. "Google представил Cilium, сетевую систему для Linux-контейне..."  –1 +/
Сообщение от Аноним (??) on 03-Ноя-16, 18:55 
а чего же gcc не использовали? только llvm.
Ответить | Правка | ^ к родителю #13 | Наверх | Cообщить модератору

18. "Google представил Cilium, сетевую систему для Linux-контейне..."  +1 +/
Сообщение от Аноним (??) on 03-Ноя-16, 19:25 
адъмин лохокоста
Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

19. "Google представил Cilium, сетевую систему для Linux-контейне..."  +1 +/
Сообщение от Аноним (??) on 03-Ноя-16, 19:31 
нельзя.
Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

20. "Google представил Cilium, сетевую систему для Linux-контейне..."  +/
Сообщение от Аноним (??) on 03-Ноя-16, 21:11 
Прочитайте внимательно первые строки оригинальной статьи:

> This is a guest post by Daniel Borkmann who was recently recognized through the Google Open Source Peer Bonus program for his work on the Cilium project. We invited Daniel to share his project on our blog.

Никакого отношения проект к Google не имеет. Но проект годный, да.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

21. "Google представил Cilium, сетевую систему для Linux-контейне..."  +1 +/
Сообщение от Led (ok) on 03-Ноя-16, 22:07 
> еще один гвоздь в гроб gcc.

- послышался голос из могилы.

Ответить | Правка | ^ к родителю #11 | Наверх | Cообщить модератору

22. "Google представил Cilium, сетевую систему для Linux-контейне..."  +/
Сообщение от Аноним (??) on 04-Ноя-16, 00:11 
> Никакого отношения проект к Google не имеет. Но проект годный, да.

Ну дак и написано, что "Google представил", а не "открыл" или "опубликовал".

Ответить | Правка | ^ к родителю #20 | Наверх | Cообщить модератору

23. "Google представил Cilium, сетевую систему для Linux-контейне..."  +/
Сообщение от AR on 04-Ноя-16, 11:09 
Google предоставил свой блог для гостевого поста, а не проект.
Ответить | Правка | ^ к родителю #22 | Наверх | Cообщить модератору

24. "Google представил Cilium, сетевую систему для Linux-контейне..."  +/
Сообщение от Аноним (??) on 05-Ноя-16, 00:51 
Собственно это не программы, а правила фильтрации в бинарном виде.
Ответить | Правка | ^ к родителю #10 | Наверх | Cообщить модератору

25. "Google представил Cilium, сетевую систему для Linux-контейне..."  +1 +/
Сообщение от Аноним (??) on 05-Ноя-16, 01:02 
Гугл обнаружил в namespaces фатальный недостаток: код написали не они и там нет go :)
Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

26. "Google представил Cilium, сетевую систему для Linux-контейне..."  +/
Сообщение от Аноним (??) on 05-Ноя-16, 01:04 
> Собственно это не программы, а правила фильтрации в бинарном виде.

Собственно, это тюринг-полные программы, вгружаемые из юзермода в ведро что выглядит достаточно стремно. Как минимум из-за halting problem. Там конечно клянутся что такое обнаруживается, но... но давать юзеру грузить свой код в ядро, даже в VM, затейка довольно на любителя. По крайней мере юзер получит немало вариантов как ему поfuzz'ить ядро совершенно левым способом.

Ответить | Правка | ^ к родителю #24 | Наверх | Cообщить модератору

27. "Google представил Cilium, сетевую систему для Linux-контейне..."  +/
Сообщение от Аноним (??) on 05-Ноя-16, 01:05 
> еще один гвоздь в гроб gcc.

Это при том что майнлайновое ядро Linux ничем кроме gcc не собирается? У вас гвоздь погнулся - вы его в бетон пытаетесь забивать.

Ответить | Правка | ^ к родителю #11 | Наверх | Cообщить модератору

28. "Google представил Cilium, сетевую систему для Linux-контейне..."  +/
Сообщение от Аноним (??) on 05-Ноя-16, 11:25 
Потому что gcc не компилирует в BPF, а вы думали почему?
Ответить | Правка | ^ к родителю #17 | Наверх | Cообщить модератору

29. "Google представил Cilium, сетевую систему для Linux-контейне..."  +/
Сообщение от Валик228 on 09-Ноя-16, 10:59 
всем хорош.
в случае с обычными контейнерами в привычном нам всем виде.
но сейчас ведь в тренде docker на локалхостах недокодеров.
переставьте себе штук 30 работающих на ноуте у Васи контейнеров, которые к тому же непойми кем клепались и подгружаются, зачастую, напрямую из git без всяких проверок и наладок.
теперь возьмите iproute2 и iptabes и попробуйте весь этот балаган как-то разрулить.
субъективно, это как-раз тот случай, когда для исправления ситуации с каким-то одним костылем делается еще один костыль, еще более кривой и несуразный.
Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

30. "очень слабо реализована идея"  +/
Сообщение от Аноним (??) on 09-Ноя-16, 19:11 
чувствуется влияние идей Qubes OS, но КАК оно воспроизведено и на чем... ужс.
овэерхэд должен быть эпичным. _рукалицо
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору


Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




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

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