[freebsd] AWS Tech Conference
Mykola Dzham
i at levsha.me
Wed Jun 29 13:38:29 EEST 2022
> On 29 Jun 2022, at 10:56, Valentin Nechayev <netch at netch.kiev.ua> wrote:
>
> hi,
>
> Wed, Jun 29, 2022 at 10:05:47, i wrote about "Re: [freebsd] AWS Tech Conference":
>
>>> 2. своё пространство pidʼов
>>
>> Похоже что нету, но на самом деле не очень то и надо - вообще то pid-ы изнутри docker контейнеров тоже прекрасно видны на host системе.
>
> Во-первых, видны, но под своими номерами. В контейнере иерархия
> строится от pid=1, дальше последовательно 2, 3 и так далее, а у хоста
> они видны иначе. Вот я заглянул execʼом в контейнер:
>
> / # ps ax
> PID USER TIME COMMAND
> 1 root 0:00 sleep 3600
> 10 root 0:00 /bin/sh
> 15 root 0:00 ps ax
>
> А вот я смотрю на то же самое из хост-системы:
>
> 4037136 ? Sl 0:00 /usr/bin/containerd-shim-runc-v2 -namespace moby -i
> d cc8eb0bd81e855e58132d5db46ae35a534bf746abeb6fd4d8e20459ae683b47a -address /var
> /run/docker/containerd/containerd.sock
> 4037157 ? Ss 0:00 \_ sleep 3600
> 4042116 pts/0 Ss+ 0:00 \_ /bin/sh
>
> Во-вторых, эта видимость односторонняя (ещё бы).
>
> (Вот что плохо, что соответствие pidʼов хоста и контейнера надо искать кривыми
> путями. Видимо, обычно мало кому нужно.)
Виноват, в спешке думал об UID-ах. Да, такого нету. Насколько это критично не знаю. В общем не должно, но уверен что есть куча мест, которые ожидают первый процесс в контейнере имеет pid=1 и сломаются если это будет не так.
>>> 3. шейперы разных шедулеров (CPU, IO, память) и пространства учёта
>>
>> Есть через rctl, который умеет дружить с jail: https://docs.freebsd.org/doc/9.2-RELEASE/usr/share/doc/freebsd/handbook/security-resourcelimits.html
>
> Жестковато и неиерархично, но для начала сойдёт.
>
>> Частично есть: cpuset.id в jail(8). Но на самом деле не так часто используется в K8s.
>
> Где как... мы сейчас в контейнерах привязываемся через DPDK к сетевым
> интерфейсам, там это критично.
>
>> Повторюсь: большинство необходимых компонент есть, а чего нету, то можно доделать и/или не так уже и критично на самом деле.
>
> Я вообще-то не утверждал, что его нет :)
> я говорил, что для полноценного контейнера нужно много больше, чем те 2-3
> пункта, что привёл Евгений.
> Это сейчас мы уже перешли к конкретным пунктам, есть или нет, и как именно.
>
>> Причём много этого всего есть задолго до того, как оно появилось в linux.
>
> Ой я бы не спешил с подобными историческими выводами:)
Всё началось где-то в 2006-м году, когда Google надоело поддерживать внутреннее глубоко кастомное ядро, и они опубликовали свои разработки для Borg, которые теперь известны как cgroups.
До этого все в линукс мире верили “фигня эти ваши jail-ы, будущее за виртаулизацией”.
Но это не принципиально для вопроса.
>> Только никто не будет это всё ручками лепить докучи. Надо чтобы всё это было
> слеплено в стандартизированный СRI. И вот этого нету.
>
> Да, похоже на то.
>
>
> -netch-
More information about the freebsd
mailing list