marathon/mesos-为udp和tcp使用相同的主机端口部署应用程序

j2qf4p5b  于 2021-06-26  发布在  Mesos
关注(0)|答案(1)|浏览(316)

我尝试使用marathon/mesos部署应用程序。它有2个服务器端口,1个udp和1个tcp。我想对udp和tcp使用相同的端口号。但它不会部署它,除非我使用不同的端口。有什么想法吗?

"portMappings": [
  {
    "containerPort": 443,
    "hostPort": 4300,
    "servicePort": 10004,
    "protocol": "tcp",
    "labels": {}
  },
  {
    "containerPort": 162,
    "hostPort": 4300,
    "servicePort": 10005,
    "protocol": "udp",
    "labels": {}
  }
]

我看到以下错误: 2019-03-19T23:17:19.646760+00:00 controller marathon-services[4511]: [2019-03-19 23:17:19,645] INFO Acknowledge status update for task myserver-0.24a323d4-4a3d-11e9-83a5-054546b43537: TASK_ERROR (Resource 'ports:[4300-4300, 4300-4300]' is invalid: Invalid ranges resource: overlapping ranges) (mesosphere.marathon.core.task.update.impl.TaskStatusUpdateProcessorImpl$$EnhancerByGuice$$53f09936:ForkJoinPool-2-worker-31)

yqyhoc1h

yqyhoc1h1#

其他人似乎也遇到了这个问题。marathon正在尝试两次分配同一个端口。关于这个github问题的评论中给出了解决方案
为您的场景重写:
您需要通过添加start参数将资源端口添加到mesos slave port range --resources-port=[4300-4300,31000-32000] .
如果你觉得合适就告诉我。

相关问题