Add support for NUM_MINION to mesos/docker cluster

This commit is contained in:
Dr. Stefan Schimanski 2015-09-16 20:24:55 +02:00
parent 434b768822
commit df997e2bb9
2 changed files with 21 additions and 41 deletions

View File

@ -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

View File

@ -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