Please enable JavaScript.
Coggle requires JavaScript to display documents.
Containerization mechanisms, Материал - Coggle Diagram
Containerization mechanisms
namespaces
Механизм изоляции процессов. При создании процесса ему присваиваются новый ns, за счет этого он не видит ресурсы, находящиеся в дефолтном ns
Типы
USER
: ID пользователей и групп
MOUNT
: Точки монтирования
NETWORK
: Сетевые устройства, стеки, порты и т.п. В общем, процесс будет видеть собственные сетевые интерфейсы.
IPC
: SystemV IPC, очереди сообщений POSIX
PID
: PID процессов. Процесс не будет видеть PID процессов хоста и будет считать, что у него PID 1.
UTS
Имя хоста и доменное имя NIS
ls -l /proc/$$/ns
cgroups
Механизм для контроля ресурсов.
Подсистемы
/sys/fs/cgroup
blkio
— устанавливает лимиты на чтение и запись с блочных устройств;
cpuacct
— генерирует отчёты об использовании ресурсов процессора;
cpu
— обеспечивает доступ процессов в рамках контрольной группы к CPU;
cpuset
— распределяет задачи в рамках контрольной группы между процессорными ядрами;
devices
— разрешает или блокирует доступ к устройствам;
freezer
— приостанавливает и возобновляет выполнение задач в рамках контрольной группы
hugetlb
— активирует поддержку больших страниц памяти для контрольных групп;
memory
— управляет выделением памяти для групп процессов;
net_cls
— помечает сетевые пакеты специальным тэгом, что позволяет идентифицировать пакеты, порождаемые определённой задачей в рамках контрольной группы;
netprio
— используется для динамической установки приоритетов по трафику;
pids
— используется для ограничения количества процессов в рамках контрольной группы.
Examples
ll /sys/fs/cgroup
cat /sys/fs/cgroup/cpu,cpuacct/docker/<containerID>/tasks | xargs ps u
- посмотреть процессы в контрольной группе
Материал
https://habr.com/ru/post/458462/
https://habr.com/ru/company/selectel/blog/279281
- namespaces
https://habr.com/ru/company/selectel/blog/303190/