DC/OS Net (or dcos-net) is a networking layer of The Datacenter Operating System (or DC/OS).
dcos-net is responsible for the following:
-
Distributed CRDT store with multicast and failure detector capabilities
-
Orchestration of virtual overlay networks using VXLAN
-
Distributed Layer 4 virtual IP load balancing
-
Network metrics (Enterprise DC/OS only)
For more information please see DC/OS documentation.
- Erlang/OTP 22.x
- C compiler
- GNU make
- libsodium 1.0.16+
To run common tests you can run make test
on any Linux-based system with the
following list of additional dependencies:
- dig (dnsutils or bind-utils)
- iproute2
- ipvsadm
To run dcos-net
, Exhibitor, Apache ZooKeeper, Apache Mesos, and Mesos-DNS are
required too.
You can build, check, and test dcos-net in a development image using
make docker-compile
, make docker-check
, and make docker-test
respectively.
All makefile targets with docker-
prefix build development image with all
dependencies and run rebar3
in that image on the host directory.
To check your dcos-net build on DC/OS you can use miniDC/OS. In order to do so please repeat the following steps:
-
Download a DC/OS build:
curl -O https://downloads.dcos.io/dcos/testing/master/dcos_generate_config.sh
-
Create a DC/OS cluster with 3 agent nodes (the minimum for development would be 1 node):
make minidcos-create MINIDCOS_AGENTS=3
-
Build and run
dcos-net
off you local repository on a particular node, in this case it ismaster_0
:make minidcos-dev MINIDCOS_NODE=master_0
-
Open
dcos-shell
on a node (agent_0
,agent_1
,...
agent_n
):make minidcos-shell MINIDCOS_NODE=agent_1
-
Destroy the cluster:
make minidcos-destroy
Alternatively, you may build and run all the components yourself. Please refer
to the instructions on how to build, configure, and run
dcos-net
locally.