IPC と UTS 名前空間

IPC と UTS 名前空間

私はKubernetesを学んでいますが、コンテナの実装においてKubernetesが重要な役割を果たしているようです。Kubernetesは、独立したプロセス間でグローバルシステムリソースを分離することを可能にします。まだ全体像を理解していません。私のポッド

kubectl get pods -o wide
NAME          READY     STATUS    RESTARTS   AGE       IP          NODE
kubia-bzp4j   1/1       Running   0          17h       10.44.1.5   gke-kubia-default-pool-98519add-5kfr
kubia-hzd8b   1/1       Running   0          1h        10.44.0.7   gke-kubia-default-pool-98519add-hsrc
kubia-kgbtb   1/1       Running   0          1h        10.44.2.5   gke-kubia-default-pool-98519add-25c1

Kubernetes in Actionによると

all containers of a pod run under the same IPC namespace
and can communicate through IPC

これは、同じポッド外のコンテナは IPC を介して通信できないことを意味しますか? どのように通信するのでしょうか? なぜ IPC が必要なのでしょうか?

答え1

UTS 名前空間には、システム ホスト名と (めったに使用されない) NIS ドメイン名の 2 つの識別子だけが含まれます。

IPC 名前空間には、「POSIX IPC」および「SysV IPC」と呼ばれる特定の種類の IPC オブジェクト (共有メモリ領域、メッセージ キュー、セマフォ) が含まれます。TCP/IP、Unix ドメイン ソケット、その他の通信方法は含まれません。

(TCP/IPは、ネット名前空間は、コンテナにメインネットワークにアクセスするための仮想インターフェースを意図的に与えることで実現されます。Unixドメインソケットは、マウント名前空間はファイル パスと同じルールに従うため、使用しないでください。

を参照してください名前空間(7)より詳しい説明についてはマニュアルページをご覧ください。

関連情報