我很困惑所有这些端口表示portMappings中的容器端口,主机端口和服务端口,下面是我的json
"portMappings": [
{
"containerPort": 9000,
"hostPort": 9000,
"labels": {
"VIP_0": "/app2n:9000"
},
"protocol": "tcp",
"servicePort": 10101
}
]
containerPort
是容器中的端口,您的容器化应用程序应该监听它,hostPort
是在容器运行的Mesos Agent上可见的端口,servicePort
是框架内部使用的抽象端口,例如它可以在loadbalancer中用作映射到运行容器及其hostPort
的主机的端口。在整个群集中应该是唯一的。基本上流程看起来像这样:互联网 - > <loadbalancer e.g. nginx, haproxy>:<servicePort>
- > <mesos agent on which container runs>:<hostPort>
- > <container>:<containerPort>
targetPort这是请求发送到的pod上的端口。您的应用程序需要侦听此端口上的网络请求以使服务正常工作。这些端口通常用于服务yaml描述符。