DC / OS马拉松虚拟网络无法正常工作

时间:2016-12-17 13:53:48

标签: mesos marathon dcos virtual-network

我安装了具有3个主服务器和3个代理的DC / OS,并且面临虚拟网络问题。这是我的Marathon应用程序规范:

{
  "id": "/nginx",
  "cmd": null,
  "cpus": 1,
  "mem": 128,
  "disk": 0,
  "instances": 1,
  "container": {
    "type": "DOCKER",
    "volumes": [],
    "docker": {
      "image": "nginx",
      "network": "BRIDGE",
      "portMappings": [
        {
          "containerPort": 80,
          "hostPort": 0,
          "servicePort": 10002,
          "protocol": "tcp",
          "name": "main1",
          "labels": {
            "VIP_0": "9.0.0.0:34562"
          }
        }
      ],
      "privileged": false,
      "parameters": [],
      "forcePullImage": false
    }
  },
  "portDefinitions": [
    {
      "port": 10002,
      "protocol": "tcp",
      "labels": {}
    }
  ]
}

我在DC / OS虚拟网络部分看到以下内容:

虚拟网络名称|子网|代理前缀长度

dcos 9.0.0.0/8 24

容器等待很长时间。如果我删除端口映射部分它成功运行。

基本上我需要知道如何使用这个新的虚拟网络,并修复服务发现和负载平衡,而不使用任何额外的东西。

1 个答案:

答案 0 :(得分:2)

我花了一些时间来弄明白......

你需要:

  • 删除任务定义中的所有端口分配
  • 描述要附加到的网络的名称(创建的默认网络名为" dcos")

    {
        "id": "yourtask",
        "container": {
            "type": "DOCKER",
            "docker": {
                "image": "your/image",
                "network": "USER"
            }
        },
        "acceptedResourceRoles" : [
            "slave_public"
        ],
        "ipAddress": {
            "networkName": "dcos"
        },
        "instances": 2,
        "cpus": 0.2,
        "mem": 128
    }