2016-12-17 108 views
2

我安装了3个主站和3个代理的DC/OS,并面临虚拟网络的问题。这里是我的马拉松应用规格:DC/OS马拉松虚拟网络不能正常工作

{ 
    "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

容器停留在等待很长一段时间。如果我删除端口映射部分,它会成功运行。

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

回答

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 
    }