私は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)より詳しい説明についてはマニュアルページをご覧ください。