1

Я изучаю 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 в действии говорит, что

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

Означает ли это, что контейнеры вне одного и того же контейнера не могут обмениваться данными через IPC? Как они общаются? Зачем нам нужен IPC?

1 ответ1

3

Пространства имен UTS содержат только два идентификатора: имя хоста системы и (редко используемое) имя домена NIS.

Пространства имен IPC содержат особый тип объектов IPC, известных как "POSIX IPC" и "SysV IPC" - области общей памяти, очереди сообщений и семафоры. Они не включают ни TCP/IP, ни доменные сокеты Unix, ни другие способы связи.

(TCP/IP изолируется с помощью сетевых пространств имен, хотя обычно контейнерам преднамеренно предоставляется виртуальный интерфейс для доступа к основной сети. Доменные сокеты Unix изолируются с помощью пространств имен монтирования , так как они следуют тем же правилам, что и пути к файлам.)

См. Справочную страницу пространства имен (7) для более подробного объяснения.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .