Add Consul-Registrator template for running host agents. (#129)

This commit is contained in:
John Engelman 2016-05-15 23:06:04 -05:00 committed by Bill Maxwell
parent 7577a9dea3
commit dafdfcbd63
5 changed files with 103 additions and 0 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,62 @@
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://localhost:8500
log_opt: {}
image: gliderlabs/registrator:v7
links:
- consul
volumes:
- /var/run/docker.sock:/tmp/docker.sock
stdin_open: true
net: host
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}"
CONSUL_BIND_INTERFACE: eth0
volumes_form:
- 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,10 @@
.catalog:
name: "Consul-Registrator"
description: "Consul Agent with Registrator Auto Configuration"
version: "0.6-rancher1"
uuid: consul-registrator-0
questions:
- variable: consul_server
label: "Consul Server Hostname/IP"
type: "string"
required: true

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

View File

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