DC/OS works with any type of container network interface (CNI) network. Use a CNI to allow your containers to communicate with one another when they are isolated from the hosts they are running on.
Configuring your Cluster for CNI
Add your plugin and configuration file to each agent on your cluster. Consult the CNI specification to learn more about CNI plugins and configuration.
-
Add your plugin file to the
/opt/mesosphere/active/cni/directory. -
Add your configuration file to the
/opt/mesosphere/etc/dcos/network/cni/directory. A typical configuration file looks like this.{ "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" } ] } }The
typeparameter specifies the name of the plugin. Here, the plugin name isbridge. Thenameparameter is the name of the network, which you will also use later in your service definition.
Configuring your Service to Use a CNI Plugin
Your service must use the Universal Container Runtime (UCR).
Add the ipAddress.networkName parameter to your service definition. networkName must match the name parameter of the configuration file in the previous step. In our current example, it is dcos.
"ipAddress": {
"networkName": "dcos"
}
Known Limitations
- When DC/OS is used on RHEL 7.5 with dcos-cni plugin and UCR (Universal Runtime Container), the layer-4 load-balancing functionality will not work as expected.
DC/OS Documentation