Choose specific host label to deploy the MongoDB cluster..

This commit is contained in:
Martin Evgeniev 2016-05-30 11:03:20 +02:00
parent c0a58df49d
commit 1d858d8f55
3 changed files with 83 additions and 0 deletions

View File

@ -0,0 +1,18 @@
# MongoDB
### Info:
This template creates MongoDB replica set on top of Rancher. Replica set size starts with 3 MongoDB instances, the replica set has the ability to scale up automatically when adding new instances.
### Usage:
Select MongoDB from catalog.
Enter the name of the replica set.
Click deploy.
MongoDB can now be accessed over the Rancher network.

View File

@ -0,0 +1,38 @@
mongo-cluster:
restart: always
environment:
MONGO_SERVICE_NAME: mongo-cluster
tty: true
entrypoint: /opt/rancher/bin/entrypoint.sh
command:
- --replSet
- "${replset_name}"
image: mongo:3.2
labels:
io.rancher.scheduler.affinity: "${host_label}"
io.rancher.container.hostname_override: container_name
io.rancher.sidekicks: mongo-base, mongo-datavolume
volumes_from:
- mongo-datavolume
- mongo-base
mongo-base:
restart: always
net: none
tty: true
labels:
io.rancher.scheduler.affinity: "${host_label}"
io.rancher.container.hostname_override: container_name
io.rancher.container.start_once: true
image: rancher/mongodb-conf:v0.1.0
stdin_open: true
entrypoint: /bin/true
mongo-datavolume:
net: none
labels:
io.rancher.scheduler.affinity: "${host_label}"
io.rancher.container.hostname_override: container_name
io.rancher.container.start_once: true
volumes:
- /data/db
entrypoint: /bin/true
image: busybox

View File

@ -0,0 +1,27 @@
.catalog:
name: "MongoDB"
version: "3.2-rancher1"
description: "MongoDB Replica Set"
uuid: mongodb-1
minimum_rancher_version: v0.46.0
questions:
- variable: replset_name
description: "Name of the MongoDB replicaSet"
label: "ReplicaSet Name"
type: "string"
required: true
default: "rs0"
- variable: "host_label"
label: "Host Label to MongoDB Tags"
description: |
Comma delimited list of host label to use as MongoDB 'value' tag.
Example: 'database'
required: false
type: "string"
mongo-cluster:
scale: 3
retain_ip: true
metadata:
mongo:
yml:
replset.name: "${replset_name}"