pod是什么:pod是k8s中基本的構建模塊,一個pod可以包含多個和單個容器,包含多個容器時,這些容器總是運行在同一個工作節點上,因為一個pod絕不會跨多個工作節點。

了解pod:pod將容器綁定在一起,並將它們作為一個單元進行管理。在pod中,多個容器可以同時進行一些密切相關的進城,但又保持着一定的隔離。容器組內的容器共享一些資源,不是全部資源。k8s通過配置docker讓一個pod中的容器共享相同的linux命名空間,所以一個pod下的所有容器共享相同的主機名和網絡接口。這些容器也都在相同的IPC命名空間下運行,能夠通過IPC進行通信。同一pod下的容器需要注意不能綁定到相同的端口號,否則會導致端口沖突。每個pod有獨立的端口空間,不同pod下的容器永遠不會遇到端口沖突。一個pod中的所有容器都具有相同的loopback網絡接口,容器可以通過localhost與同一pod的其他容器進行通信。
k8s中所有的pod都在同一個共享網絡地址空間中,每個pod都有自己的IP,每個pod都可以通過其他pod的IP地址實現相互訪問。無論pod是否在同一個工作節點上都能夠相互通信。

通過pod管理容器:將多層應用分散到多個pod中,基於擴縮容考慮分割到多個pod中。
何時在pod中使用多個容器:將多個容器添加到單個pod的主要原因是應用可能由一個主要進程和一個活多個輔助進程組成的

基本上,容器不應該包含多個進程,pod也不應該包含多個並不需要運行在同一台主機上的容器。

