对k8s中pod的理解
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