Add support for NUM_MINION to mesos/docker cluster
This commit is contained in:
		@@ -26,11 +26,21 @@ mesosmaster1:
 | 
				
			|||||||
  links:
 | 
					  links:
 | 
				
			||||||
  - etcd
 | 
					  - etcd
 | 
				
			||||||
  - "ambassador:apiserver"
 | 
					  - "ambassador:apiserver"
 | 
				
			||||||
mesosslave1:
 | 
					mesosslave:
 | 
				
			||||||
  hostname: mesosslave1
 | 
					  hostname: mesosslave
 | 
				
			||||||
  privileged: true
 | 
					  privileged: true
 | 
				
			||||||
  image: mesosphere/mesos-slave-dind:0.23.0-1.0.ubuntu1404.docker181
 | 
					  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: ~
 | 
					  command: ~
 | 
				
			||||||
  environment:
 | 
					  environment:
 | 
				
			||||||
  - MESOS_MASTER=mesosmaster1:5050
 | 
					  - MESOS_MASTER=mesosmaster1:5050
 | 
				
			||||||
@@ -40,38 +50,13 @@ mesosslave1:
 | 
				
			|||||||
  - MESOS_RESOURCES=cpus:4;mem:1280;disk:25600;ports:[21000-21099]
 | 
					  - MESOS_RESOURCES=cpus:4;mem:1280;disk:25600;ports:[21000-21099]
 | 
				
			||||||
  - MESOS_SWITCH_USER=0
 | 
					  - MESOS_SWITCH_USER=0
 | 
				
			||||||
  - MESOS_CONTAINERIZERS=docker,mesos
 | 
					  - MESOS_CONTAINERIZERS=docker,mesos
 | 
				
			||||||
  - MESOS_WORK_DIR=/var/tmp/mesos
 | 
					 | 
				
			||||||
  - DOCKER_NETWORK_OFFSET=0.0.1.0
 | 
					 | 
				
			||||||
  - DOCKER_DAEMON_ARGS
 | 
					  - DOCKER_DAEMON_ARGS
 | 
				
			||||||
  links:
 | 
					  links:
 | 
				
			||||||
  - etcd
 | 
					  - etcd
 | 
				
			||||||
  - mesosmaster1
 | 
					  - mesosmaster1
 | 
				
			||||||
  - "ambassador:apiserver"
 | 
					  - "ambassador:apiserver"
 | 
				
			||||||
  volumes:
 | 
					  volumes:
 | 
				
			||||||
  - ${MESOS_DOCKER_WORK_DIR}/mesosslave1/mesos:/var/tmp/mesos
 | 
					  - ${MESOS_DOCKER_WORK_DIR}/mesosslave:/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
 | 
					 | 
				
			||||||
apiserver:
 | 
					apiserver:
 | 
				
			||||||
  hostname: apiserver
 | 
					  hostname: apiserver
 | 
				
			||||||
  image: mesosphere/kubernetes-mesos
 | 
					  image: mesosphere/kubernetes-mesos
 | 
				
			||||||
@@ -166,8 +151,6 @@ scheduler:
 | 
				
			|||||||
  links:
 | 
					  links:
 | 
				
			||||||
  - etcd
 | 
					  - etcd
 | 
				
			||||||
  - mesosmaster1
 | 
					  - mesosmaster1
 | 
				
			||||||
  - mesosslave1
 | 
					 | 
				
			||||||
  - mesosslave2
 | 
					 | 
				
			||||||
  - apiserver
 | 
					  - apiserver
 | 
				
			||||||
keygen:
 | 
					keygen:
 | 
				
			||||||
  image: mesosphere/kubernetes-mesos-keygen
 | 
					  image: mesosphere/kubernetes-mesos-keygen
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -98,8 +98,6 @@ function cluster::mesos::docker::run_in_docker_test {
 | 
				
			|||||||
      ${kube_config_mount} \
 | 
					      ${kube_config_mount} \
 | 
				
			||||||
      -v "/var/run/docker.sock:/var/run/docker.sock" \
 | 
					      -v "/var/run/docker.sock:/var/run/docker.sock" \
 | 
				
			||||||
      --link docker_mesosmaster1_1:mesosmaster1 \
 | 
					      --link docker_mesosmaster1_1:mesosmaster1 \
 | 
				
			||||||
      --link docker_mesosslave1_1:mesosslave1 \
 | 
					 | 
				
			||||||
      --link docker_mesosslave2_1:mesosslave2 \
 | 
					 | 
				
			||||||
      --link docker_apiserver_1:apiserver \
 | 
					      --link docker_apiserver_1:apiserver \
 | 
				
			||||||
      --entrypoint="${entrypoint}" \
 | 
					      --entrypoint="${entrypoint}" \
 | 
				
			||||||
      mesosphere/kubernetes-mesos-test \
 | 
					      mesosphere/kubernetes-mesos-test \
 | 
				
			||||||
@@ -255,16 +253,13 @@ function cluster::mesos::docker::init_auth {
 | 
				
			|||||||
# Instantiate a kubernetes cluster.
 | 
					# Instantiate a kubernetes cluster.
 | 
				
			||||||
function kube-up {
 | 
					function kube-up {
 | 
				
			||||||
  # Nuke old mesos-slave workspaces
 | 
					  # Nuke old mesos-slave workspaces
 | 
				
			||||||
  for ((i=1; i <= NUM_MINIONS; i++)) do
 | 
					  local work_dir="${MESOS_DOCKER_WORK_DIR}/mesosslave"
 | 
				
			||||||
    local work_dir="${MESOS_DOCKER_WORK_DIR}/mesosslave${i}/mesos"
 | 
					  echo "Creating Mesos Work Dir: ${work_dir}" 1>&2
 | 
				
			||||||
    echo "Creating Mesos Work Dir: ${work_dir}" 1>&2
 | 
					  mkdir -p "${work_dir}"
 | 
				
			||||||
    mkdir -p "${work_dir}"
 | 
					  rm -rf "${work_dir}"/*
 | 
				
			||||||
    rm -rf "${work_dir}"/*
 | 
					 | 
				
			||||||
  done
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  local -r log_dir="${MESOS_DOCKER_WORK_DIR}/log"
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
  # Nuke old logs
 | 
					  # Nuke old logs
 | 
				
			||||||
 | 
					  local -r log_dir="${MESOS_DOCKER_WORK_DIR}/log"
 | 
				
			||||||
  mkdir -p "${log_dir}"
 | 
					  mkdir -p "${log_dir}"
 | 
				
			||||||
  rm -rf "${log_dir}"/*
 | 
					  rm -rf "${log_dir}"/*
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -288,6 +283,8 @@ function kube-up {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  echo "Starting ${KUBERNETES_PROVIDER} cluster" 1>&2
 | 
					  echo "Starting ${KUBERNETES_PROVIDER} cluster" 1>&2
 | 
				
			||||||
  cluster::mesos::docker::docker_compose up -d
 | 
					  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
 | 
					  # await-health-check requires GNU timeout
 | 
				
			||||||
  # apiserver hostname resolved by docker
 | 
					  # apiserver hostname resolved by docker
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user