Czym jest Pod?¶
Pod jest to jednostka uruchomieniowa zawierająca jeden lub więcej kontenerów współdzielących sieć i przestrzeń dyskową. Wszystkie kontenery w ramach jednego Poda uruchamiane są na tym samym węźle i traktowane jako jedna aplikacja logiczna.
Wykorzystywane mechanizmy¶
Namespace - przestrzenie nazw w Linux¶
| Namespace | Znaczenie |
|---|---|
| net | Wspólna przestrzeń sieci - kontenery mają ten sam IP, porty itd. |
| ipc | Wspólna komunikacja międzyprocesowa (semafory, kolejki) |
| uts | Ta sama nazwa hosta (hostname) |
| pid (czasem) | Czasami wspólna lista procesów – np. widzą się nawzajem |
| mnt | Oddzielna przestrzeń montowania (dzielą wolumeny w Podzie) |
| ## cgroups - kontrola zasobów | |
Dzięki mechanizmowi cgroup istnieje możliwość: |
|
| - ograniczania zasobów CPU, RAM, I/O | |
| - monitorowania zużycia zasobów | |
| - sterowania tymi parametrami "online" |
Sieć - współdzielona między kontenerami w Podzie¶
Jeden pod otrzymuje jeden konkretnie adres IP. Za przydzielenie odpowiedzialny jest CNI (ang. Container Network Interface), np. Calico, Flannel albo Cilium.
Kontenery w ramach jednego Poda mogą się komunikować z użyciem adresu localhost.
Wszystkie kontenery dzielą ten sam IP oraz port.
Zasoby dyskowe - wspólna przestrzeń dyskowa¶
Każdy wolumen montowany jest per Pod - wszystkie kontenery w ramach jednego poda widzą zasób.