虚拟网络与虚拟IP是两回事情:
虚拟IP就是在DCOS集群内部定义一个VIP,然后可以通过该VIP来实现负载均衡,而不关心具体访问的是哪个实例。
虚拟网络是DCOS内部一种网络隔离,各个虚拟网络流量和端口等相互不影响。如果要使用虚拟网络,需要在安装时配置好,在使用时必须在json文件中明确指定下面这2项配置:
"network": "USER"
{"ipAddress": {"network": "$MYNETWORK"}}
完整配置如下:
{
"id":"my-networking",
"cmd":"env; ip -o addr; sleep 30",
"cpus":0.10,
"mem":64,
"instances":1,
"backoffFactor":1.14472988585,
"backoffSeconds":5,
"ipAddress":{
"networkName":"dcos-1"
},
"container":{
"type":"DOCKER",
"docker":{
"network":"USER",
"image":"busybox",
"portMappings":[
{
"containerPort":123,
"servicePort":80,
"name":"foo"
}
]
}
}
}
DCOS默认使用的DC/OS Overlay来实现虚拟网络支持,也支持CNI接口的。