Public | Automated Build

Last pushed: 8 months ago
Short Description
Aurora is a Mesos framework for longrunning services and cron jobs
Full Description

Aurora scheduler dockerfile

Current version of components:

  • Mesos: 1.1.0
  • Aurora-scheduler: 0.16.0
  • Bease OS/docker image: centos-7

Quick start

Configuration.

Configuration parameters can be managed with environment variables:

# Defaults for Aurora scheduler startup
# Environment variables control the behavior of the Mesos scheduler driver (libmesos).
ENV LIBPROCESS_PORT 8083
# ENV LIBPROCESS_IP=127.0.0.1
ENV GLOG_v 0
# Name of the framework
ENV FRAMEWORK_NAME aurora
#
ENV AURORA_HOME /var/lib/aurora
# Name of the cluster. Please change this.
ENV CLUSTER_NAME example
# Listening port for the scheduler
ENV HTTP_PORT 8081
# Replicated log quorum size. Set to (floor(number_of_schedulers / 2) + 1)
ENV QUORUM_SIZE 1
# List of zookeeper endpoints
ENV ZK_ENDPOINTS 127.0.0.1:2181
# Zookeeper path or URL to mesos master
ENV MESOS_MASTER zk://${ZK_ENDPOINTS}/mesos
# ENV MESOS_MASTER "http://127.0.0.1:5050"
# ENV MESOS_ROLE " "
# Zookeeper ServerSet path to register at
ENV ZK_SERVERSET_PATH /${FRAMEWORK_NAME}/scheduler
# Log path in zookeeper
ENV ZK_LOGDB_PATH /${FRAMEWORK_NAME}/replicated-log
# Where to store the replicated log on disk
ENV LOGDB_FILE_PATH=${AURORA_HOME}/scheduler/db
# Where to store backups on disk
ENV BACKUP_DIR ${AURORA_HOME}/scheduler/backups
# Path (on the slave nodes) or URL to thermos executor or wrapper script
# ENV THERMOS_EXECUTOR_PATH ${AURORA_HOME}/bin/thermos_executor
ENV THERMOS_EXECUTOR_PATH "/usr/bin/thermos_executor"
# A comma seperated list of additional resources to copy into the sandbox.
# Note: if thermos_executor_path is not the thermos_executor.pex file itself,
# this must include it.
ENV THERMOS_EXECUTOR_RESOURCES " "
ENV THERMOS_EXECUTOR_FLAGS --announcer-ensemble 127.0.0.1:2181
# Extra arguments to be passed to the thermos executor
# Container types that are allowed to be used by jobs.
ENV ALLOWED_CONTAINER_TYPES 'MESOS,DOCKER'
# Allow to pass docker container parameters in the job.
ENV ALLOW_DOCKER_PARAMETERS "true"
ENV ALLOW_GPU_RESOURCE "true"
# Any args you want to add to the aurora-scheduler invocation:
ENV EXTRA_SCHEDULER_ARGS " "

Please refer to Aurora documentation for details.

Usage

  1. Starting an aurora scheduler instance

docker run --net=host -e "CLUSTER_NAME=YourClaster" -e "ZK_ENDPOINTS=master.mesos:2181" -e "MESOS_MASTER=zk://master.mesos:2181/mesos" krot/aurora-scheduler aurora-scheduler

  1. Start 3 - 5 schedulers for failure tolerance

docker run --net=host -e "CLUSTER_NAME=YourClaster" -e "ZK_ENDPOINTS=master.mesos:2181" -e "MESOS_MASTER=zk://master.mesos:2181/mesos" -e "QUORUM_SIZE=2" krot/aurora-scheduler aurora-scheduler

  1. GPU support is enabled by default

  2. DC/OS service JSON

{
  "id": "/aurora/aurora-scheduler",
  "env": {
    "CLUSTER_NAME": "\"YourCluster\"",
    "ZK_ENDPOINTS": "\"master.mesos:2181\"",
    "MESOS_MASTER": "\"zk://master.mesos:2181/mesos\""
  },
  "instances": 3,
  "cpus": 1,
  "mem": 1024,
  "disk": 0,
  "gpus": 0,
  "constraints": [
    [
      "hostname",
      "UNIQUE"
    ]
  ],
  "container": {
    "docker": {
      "image": "krot/aurora-scheduler",
      "forcePullImage": true,
      "privileged": false,
      "network": "HOST"
    },
    "type": "DOCKER",
    "volumes": [
      {
        "containerPath": "/var/lib/aurora",
        "hostPath": "/var/lib/aurora",
        "mode": "RW"
      }
    ]
  }
}
Docker Pull Command
Owner
krot
Source Repository

Comments (0)