pod共享相同的IP地址和端口空間。
這意味着在同一pod中的容器運行的多個進程需要注意不能綁定到相同的端口號, 否則會導致端口沖突,
但這只涉及同一pod中的容器。
由於每個pod都有獨立的端口空間, 對於不同pod中的容器來說 則永遠不會遇到端口沖突
一個pod中的所有容器也都具有相同的loopback網絡接口,因此容器可以通過localhost與同一pod中的其他容器進行通信。
pod中的容器
k8s中的思想是:
每個容器只安裝一個進程,然后多個或一個容器屬於一個pod。然后這個pod下的容器可以通過volume的方式共享磁盤。
也就是說,應該把整個pod看作虛擬機,然后每個容器相當於運行在虛擬機的進程。
將多層應用分散到多個 pod 中
雖然可以把多個容器放在同一個pod下,但是應該根據應用將容器分布到不同的pod中。
原因如下:每個pod是部署再固定的node上的,將前端、后端應用部署在同一個pod里發揮不出集群的作用
當需要進行節點擴容的時候,如果前后端在一個pod里,擴容一個pod后就有兩個前端、后端,這樣多出的前端是沒有意義的而且很有難度
何時在pod使用多個容器
一般情況下建議單容器pod
多容器需要同時擴縮容,是否必須一起運行,代表的是一個主體還是多個獨立的組件。
轉:https://www.cnblogs.com/yechen2019/p/12103912.html