見える資源

namespacenamespaceネームスペース同じコンピュータの資源を、別々に見せる仕組み。

PID、ネットワーク、マウント位置、ホスト名などに専用の空間を作ります。

資源の配分

cgroupcgroupシーグループプロセスの集まりごとに、資源の利用量や優先度を管理する仕組み。

CPU、メモリ、I/Oの使用量を計測し、重みや上限を設定します。

同じLinuxカーネルhost
namespace=見える資源

青いコンテナから見える状態

PID 1, 7, 1210.0.1.0/24/app がルート

専用のPID空間、ネットワーク構成、マウント構成が見えています。

cgroup=資源の配分
CPU38%
メモリ58%

CPU時間とメモリ使用量をグループ単位で制御します。

namespaceで隔離cgroupで制御コンテナの土台
MNTマウント位置Linux 2.4.19
UTSホスト名Linux 2.6.19
IPCプロセス間通信Linux 2.6.19
PIDプロセス番号Linux 2.6.24
NETネットワークLinux 2.6.24
USERユーザーIDLinux 3.8
TIME単調時計・起動時刻Linux 5.6
namespacecgroupcapabilityファイルシステムコンテナ実行環境

コンテナコンテナ同じカーネルを共有しながら、プロセスを分離して動かす環境。は、これらの機能をランタイムが組み合わせて作ります。プロセスはホストと同じLinuxカーネル上で実行されます。