Linux Namespaceとは?
Linux namespaceは、グローバルなリソースを分割し、namespace内のプロセスが自分だけの隔離されたインスタンスしか見えないようにするkernelの機能です。process ID、mount、networking、userなどに個別のnamespaceが存在します。複数のnamespaceを組み合わせることが、containerに自分専用のマシンを持っているかのような錯覚を与えます。
なぜ重要か
namespaceは、CI jobが独自のプロセスツリーとネットワークを持ってcontainer内で隔離されて動く仕組みの中核です。どのnamespaceが働いているかを知っていれば、container内のプロセスが外のプロセスを見られない理由を説明できます。
関連ガイド
What Is Cgroup Resource Control?Cgroup resource control uses Linux control groups to limit and account for the CPU, memory, and IO that a gro…
What Is a Chroot Jail?A chroot jail changes a process apparent root directory so it can only see files under a chosen subtree, prov…
What Is an Overlay Filesystem?An overlay filesystem stacks a writable layer on top of read-only layers, presenting a merged view while keep…