diff --git a/cluster/mesos/docker/docker-compose.yml b/cluster/mesos/docker/docker-compose.yml index ec337c53d7b..1a9fd48b3c9 100644 --- a/cluster/mesos/docker/docker-compose.yml +++ b/cluster/mesos/docker/docker-compose.yml @@ -26,11 +26,21 @@ mesosmaster1: links: - etcd - "ambassador:apiserver" -mesosslave1: - hostname: mesosslave1 +mesosslave: + hostname: mesosslave privileged: true image: mesosphere/mesos-slave-dind:0.23.0-1.0.ubuntu1404.docker181 - entrypoint: [ "bash", "-c", "wrapdocker mesos-slave --hostname=$(getent hosts mesosslave1 | cut -d' ' -f1 | sort -u | tail -1)" ] + entrypoint: + - bash + - -xc + - > + NAME=$(cut -f2 -d/ <<<$MESOSMASTER1_NAME) && + N=${NAME##*_} && + DOCKER_NETWORK_OFFSET=0.0.$N.0 + exec wrapdocker mesos-slave + --work_dir="/var/tmp/mesos/$N" + --attributes=rack:$N\\;gen:201$N + --hostname=$(getent hosts mesosslave | cut -d' ' -f1 | sort -u | tail -1) command: ~ environment: - MESOS_MASTER=mesosmaster1:5050 @@ -40,38 +50,13 @@ mesosslave1: - MESOS_RESOURCES=cpus:4;mem:1280;disk:25600;ports:[21000-21099] - MESOS_SWITCH_USER=0 - MESOS_CONTAINERIZERS=docker,mesos - - MESOS_WORK_DIR=/var/tmp/mesos - - DOCKER_NETWORK_OFFSET=0.0.1.0 - DOCKER_DAEMON_ARGS links: - etcd - mesosmaster1 - "ambassador:apiserver" volumes: - - ${MESOS_DOCKER_WORK_DIR}/mesosslave1/mesos:/var/tmp/mesos -mesosslave2: - hostname: mesosslave2 - privileged: true - image: mesosphere/mesos-slave-dind:0.23.0-1.0.ubuntu1404.docker181 - entrypoint: [ "bash", "-c", "wrapdocker mesos-slave --hostname=$(getent hosts mesosslave2 | cut -d' ' -f1 | sort -u | tail -1)" ] - command: ~ - environment: - - MESOS_MASTER=mesosmaster1:5050 - - MESOS_PORT=5051 - - MESOS_LOG_DIR=/var/log/mesos - - MESOS_LOGGING_LEVEL=INFO - - MESOS_RESOURCES=cpus:4;mem:1280;disk:25600;ports:[21000-21099] - - MESOS_SWITCH_USER=0 - - MESOS_CONTAINERIZERS=docker,mesos - - MESOS_WORK_DIR=/var/tmp/mesos - - DOCKER_NETWORK_OFFSET=0.0.2.0 - - DOCKER_DAEMON_ARGS - links: - - etcd - - mesosmaster1 - - "ambassador:apiserver" - volumes: - - ${MESOS_DOCKER_WORK_DIR}/mesosslave2/mesos:/var/tmp/mesos + - ${MESOS_DOCKER_WORK_DIR}/mesosslave:/var/tmp/mesos apiserver: hostname: apiserver image: mesosphere/kubernetes-mesos @@ -166,8 +151,6 @@ scheduler: links: - etcd - mesosmaster1 - - mesosslave1 - - mesosslave2 - apiserver keygen: image: mesosphere/kubernetes-mesos-keygen diff --git a/cluster/mesos/docker/util.sh b/cluster/mesos/docker/util.sh index 7699333117a..8ddd6c40bb3 100644 --- a/cluster/mesos/docker/util.sh +++ b/cluster/mesos/docker/util.sh @@ -98,8 +98,6 @@ function cluster::mesos::docker::run_in_docker_test { ${kube_config_mount} \ -v "/var/run/docker.sock:/var/run/docker.sock" \ --link docker_mesosmaster1_1:mesosmaster1 \ - --link docker_mesosslave1_1:mesosslave1 \ - --link docker_mesosslave2_1:mesosslave2 \ --link docker_apiserver_1:apiserver \ --entrypoint="${entrypoint}" \ mesosphere/kubernetes-mesos-test \ @@ -255,16 +253,13 @@ function cluster::mesos::docker::init_auth { # Instantiate a kubernetes cluster. function kube-up { # Nuke old mesos-slave workspaces - for ((i=1; i <= NUM_MINIONS; i++)) do - local work_dir="${MESOS_DOCKER_WORK_DIR}/mesosslave${i}/mesos" - echo "Creating Mesos Work Dir: ${work_dir}" 1>&2 - mkdir -p "${work_dir}" - rm -rf "${work_dir}"/* - done - - local -r log_dir="${MESOS_DOCKER_WORK_DIR}/log" + local work_dir="${MESOS_DOCKER_WORK_DIR}/mesosslave" + echo "Creating Mesos Work Dir: ${work_dir}" 1>&2 + mkdir -p "${work_dir}" + rm -rf "${work_dir}"/* # Nuke old logs + local -r log_dir="${MESOS_DOCKER_WORK_DIR}/log" mkdir -p "${log_dir}" rm -rf "${log_dir}"/* @@ -288,6 +283,8 @@ function kube-up { echo "Starting ${KUBERNETES_PROVIDER} cluster" 1>&2 cluster::mesos::docker::docker_compose up -d + echo "Scaling ${KUBERNETES_PROVIDER} cluster to ${NUM_MINIONS} slaves" + cluster::mesos::docker::docker_compose scale mesosslave=${NUM_MINIONS} # await-health-check requires GNU timeout # apiserver hostname resolved by docker