DC/OS 可配合任何类型的容器网络接口 (CNI) 网络使用。使用 CNI 可以让容器在与它们运行所在的主机隔离时相互通信。
为 CNI 配置群集
将插件和配置文件添加到群集上的每个代理节点。参阅 CNI 规范,进一步了解 CNI 插件和配置。
-
将插件文件添加到
/opt/mesosphere/active/cni/
目录。 -
将配置文件添加到
/opt/mesosphere/etc/dcos/network/cni/
目录。 典型的配置文件看起来像这样。{ "name": "dcos", "type": "bridge", "bridge": "m-dcos", "isGateway": true, "ipMasq": false, "mtu": 1420, "ipam": { "type": "host-local", "subnet": "9.0.1.0/25", "routes": [ { "dst": "0.0.0.0/0" } ] } }
type
参数指定插件的名称。此处,插件名称为bridge
.name
参数是网络的名称,您也可以稍后在服务定义中使用。
配置服务以使用 CNI 插件
您的服务必须使用 通用容器运行时 (UCR).
添加 ipAddress.networkName
参数到服务定义。networkName
必须匹配在上一步中配置文件的 name
参数。此例中,它是 dcos
.
"ipAddress": {
"networkName": "dcos"
}
已知局限
- 在带有 dcos-cni 插件和 UCR(通用运行时容器)的 RHEL 7.5 上使用 DC/OS 时,第 4 层负载均衡功能将无法正常工作。