Update Consul-Registrator template to ask for Consul DC name. (#225)

This commit is contained in:
John Engelman 2016-07-26 11:35:55 -05:00 committed by Bill Maxwell
parent 07cd1c2665
commit 2881ae2839
4 changed files with 103 additions and 1 deletions

View File

@ -0,0 +1,26 @@
# Consul-Registrator
### Info:
This templates creates a global service that deploys a Consul agent that is bound to the host's networking.
This allows all Rancher hosts to join an existing Consul cluster.
Additionally, Registrator is deployed to automatically discover and register containers that are deployed on the host as Consul service entries.
This allows for automatic service registration in Consul as Rancher schedule containers in the cluster.
The variables used in this template include:
- Hostname or IP address for the Consul cluster to join
The templates uses the official Consul & Registrator images
- [consul](https://hub.docker.com/r/_/consul/).
- [registrator](https://hub.docker.com/r/gliderlabs/registrator/).
### Usage:
Select Consul from catalog.
Enter the hostname/DNS name/IP address of the Consul server to join
Click deploy.

View File

@ -0,0 +1,61 @@
consul-registrator:
log_driver: ''
labels:
io.rancher.sidekicks: consul,consul-data
io.rancher.scheduler.global: 'true'
io.rancher.container.pull_image: always
io.rancher.container.hostname_override: container_name
tty: true
restart: always
command:
- consul://consul:8500
log_opt: {}
image: gliderlabs/registrator:v7
links:
- consul
volumes:
- /var/run/docker.sock:/tmp/docker.sock
stdin_open: true
consul:
ports:
- 8300:8300/tcp
- 8301:8301/tcp
- 8301:8301/udp
- 8302:8302/tcp
- 8302:8302/udp
- 8400:8400/tcp
- 8500:8500/tcp
- 8600:8600/tcp
- 8600:8600/udp
log_driver: ''
labels:
io.rancher.container.pull_image: always
io.rancher.scheduler.global: 'true'
io.rancher.container.hostname_override: container_name
io.rancher.container.dns: true
tty: true
net: host
restart: always
command:
- agent
- -retry-join
- ${consul_server}
- -recursor=169.254.169.250
- -client=0.0.0.0
environment:
CONSUL_LOCAL_CONFIG: "{\"leave_on_terminate\": true, \"datacenter\": \"${consul_datacenter}\"}"
CONSUL_BIND_INTERFACE: eth0
volumes_from:
- consul-data
log_opt: {}
image: consul:v0.6.4
stdin_open: true
consul-data:
image: consul:v0.6.4
labels:
io.rancher.container.hostname_override: container_name
io.rancher.scheduler.global: 'true'
io.rancher.container.start_once: true
volumes:
- /consul/data
entrypoint: /bin/true

View File

@ -0,0 +1,15 @@
.catalog:
name: "Consul-Registrator"
description: "Consul Agent with Registrator Auto Configuration"
version: "0.6-rancher2"
uuid: consul-registrator-1
questions:
- variable: consul_server
label: "Consul Server Hostname/IP"
type: "string"
required: true
- variable: consul_datacenter
label: "Consul Server Datacenter"
type: "string"
required: true
default: "dc1"

View File

@ -1,5 +1,5 @@
name: Consul-Registrator
description: |
Consul agent with Registrator for Service Auto Configuration
version: 0.6-rancher1
version: 0.6-rancher2
category: Clustering