Marathon / Mesos - развертывание приложения с использованием одного и того же хост-порта для UDP и TCP - PullRequest
0 голосов
/ 20 марта 2019

Я пытался развернуть приложение, используя 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)

1 Ответ

0 голосов
/ 20 марта 2019

Другие, похоже, столкнулись с этой проблемой.Марафон пытается выделить один и тот же порт дважды.Решение дано в этом комментарии на этом выпуске github

Переписано для вашего сценария:

Вам необходимо добавить ресурс Port в mesos slaveдиапазон портов, добавив начальный параметр --resources-port=[4300-4300,31000-32000].

Дайте мне знать, сработает ли это для вас.

...