added swarms for el and conductor
This commit is contained in:
parent
cb033e7163
commit
4c5975abbe
|
@ -3,3 +3,5 @@
|
||||||
roles:
|
roles:
|
||||||
- common
|
- common
|
||||||
- dynomite
|
- dynomite
|
||||||
|
- elasticsearch
|
||||||
|
- conductor
|
||||||
|
|
|
@ -1,12 +1,3 @@
|
||||||
---
|
---
|
||||||
target_path: /tmp/conductor_setup_test
|
target_path: /tmp/conductor_setup_test
|
||||||
|
conductor_network: conductor-network
|
||||||
conductor_network: conductor-network
|
|
||||||
|
|
||||||
dynomite_shards: 3
|
|
||||||
dynomite_replicas: 3
|
|
||||||
|
|
||||||
elasticsearch_replicas: 1
|
|
||||||
|
|
||||||
conductor_replicas: 2
|
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,58 @@
|
||||||
|
# Servers.
|
||||||
|
conductor.jetty.server.enabled=true
|
||||||
|
conductor.grpc.server.enabled=false
|
||||||
|
|
||||||
|
# Database persistence model. Possible values are memory, redis, and dynomite.
|
||||||
|
# If ommitted, the persistence used is memory
|
||||||
|
#
|
||||||
|
# memory : The data is stored in memory and lost when the server dies. Useful for testing or demo
|
||||||
|
# redis : non-Dynomite based redis instance
|
||||||
|
# dynomite : Dynomite cluster. Use this for HA configuration.
|
||||||
|
|
||||||
|
db=dynomite
|
||||||
|
|
||||||
|
# Dynomite Cluster details.
|
||||||
|
# format is host:port:rack separated by semicolon
|
||||||
|
workflow.dynomite.cluster.hosts=dynomite1:8102:us-east-1b;dynomite2:8102:us-east-1b;dynomite3:8102:us-east-2b;dynomite4:8102:us-east-2b
|
||||||
|
|
||||||
|
# Dynomite cluster name
|
||||||
|
workflow.dynomite.cluster.name=dyno1
|
||||||
|
|
||||||
|
# Namespace for the keys stored in Dynomite/Redis
|
||||||
|
workflow.namespace.prefix=conductor
|
||||||
|
|
||||||
|
# Namespace prefix for the dyno queues
|
||||||
|
workflow.namespace.queue.prefix=conductor_queues
|
||||||
|
|
||||||
|
# No. of threads allocated to dyno-queues (optional)
|
||||||
|
queues.dynomite.threads=10
|
||||||
|
|
||||||
|
# Non-quorum port used to connect to local redis. Used by dyno-queues.
|
||||||
|
# When using redis directly, set this to the same port as redis server
|
||||||
|
# For Dynomite, this is 22122 by default or the local redis-server port used by Dynomite.
|
||||||
|
queues.dynomite.nonQuorum.port=22122
|
||||||
|
|
||||||
|
# Elastic search instance type. Possible values are memory and external.
|
||||||
|
# If not specified, the instance type will be embedded in memory
|
||||||
|
#
|
||||||
|
# memory: The instance is created in memory and lost when the server dies. Useful for development and testing.
|
||||||
|
# external: Elastic search instance runs outside of the server. Data is persisted and does not get lost when
|
||||||
|
# the server dies. Useful for more stable environments like staging or production.
|
||||||
|
workflow.elasticsearch.instanceType=external
|
||||||
|
|
||||||
|
# Transport address to elasticsearch
|
||||||
|
workflow.elasticsearch.url=elasticsearch:9300
|
||||||
|
|
||||||
|
# Name of the elasticsearch cluster
|
||||||
|
workflow.elasticsearch.index.name=conductor
|
||||||
|
|
||||||
|
# Additional modules (optional)
|
||||||
|
# conductor.additional.modules=class_extending_com.google.inject.AbstractModule
|
||||||
|
|
||||||
|
# Additional modules for metrics collection (optional)
|
||||||
|
# conductor.additional.modules=com.netflix.conductor.contribs.metrics.MetricsRegistryModule,com.netflix.conductor.contribs.metrics.LoggingMetricsModule
|
||||||
|
# com.netflix.conductor.contribs.metrics.LoggingMetricsModule.reportPeriodSeconds=15
|
||||||
|
|
||||||
|
# Load sample kitchen sink workflow
|
||||||
|
loadSample=false
|
||||||
|
|
|
@ -0,0 +1,3 @@
|
||||||
|
---
|
||||||
|
conductor_replicas: 2
|
||||||
|
conductor_config: conductor-swarm-config.properties
|
|
@ -0,0 +1,10 @@
|
||||||
|
---
|
||||||
|
- name: Generate conductor-swarm
|
||||||
|
template:
|
||||||
|
src: templates/conductor-swarm.yaml.j2
|
||||||
|
dest: "{{ target_path }}/conductor-swarm.yaml"
|
||||||
|
|
||||||
|
- name: Copy conductor config
|
||||||
|
copy:
|
||||||
|
src: "{{ conductor_config }}"
|
||||||
|
dest: "{{ target_path }}/{{ conductor_config }}"
|
|
@ -0,0 +1,55 @@
|
||||||
|
version: '3.6'
|
||||||
|
|
||||||
|
services:
|
||||||
|
conductor-server:
|
||||||
|
environment:
|
||||||
|
- CONFIG_PROP={{ conductor_config }}
|
||||||
|
image: nubisware/conductor-server
|
||||||
|
networks:
|
||||||
|
- {{ conductor_network }}
|
||||||
|
ports:
|
||||||
|
- "8080:8080"
|
||||||
|
deploy:
|
||||||
|
mode: replicated
|
||||||
|
replicas: {{ conductor_replicas }}
|
||||||
|
#endpoint_mode: dnsrr
|
||||||
|
placement:
|
||||||
|
constraints: [node.role == worker]
|
||||||
|
restart_policy:
|
||||||
|
condition: on-failure
|
||||||
|
delay: 5s
|
||||||
|
max_attempts: 3
|
||||||
|
window: 120s
|
||||||
|
configs:
|
||||||
|
- source: swarm-config
|
||||||
|
target: /app/config/{{ conductor_network }}
|
||||||
|
|
||||||
|
logging:
|
||||||
|
driver: "journald"
|
||||||
|
|
||||||
|
conductor-ui:
|
||||||
|
environment:
|
||||||
|
- WF_SERVER=http://conductor-server:8080/api/
|
||||||
|
image: nubisware/conductor-ui
|
||||||
|
networks:
|
||||||
|
- {{ conductor_network }}
|
||||||
|
ports:
|
||||||
|
- "5000:5000"
|
||||||
|
deploy:
|
||||||
|
mode: replicated
|
||||||
|
replicas: {{ conductor_replicas }}
|
||||||
|
#endpoint_mode: dnsrr
|
||||||
|
placement:
|
||||||
|
constraints: [node.role == worker]
|
||||||
|
restart_policy:
|
||||||
|
condition: on-failure
|
||||||
|
delay: 5s
|
||||||
|
max_attempts: 3
|
||||||
|
window: 120s
|
||||||
|
|
||||||
|
networks:
|
||||||
|
{{ conductor_network }}:
|
||||||
|
|
||||||
|
configs:
|
||||||
|
swarm-config:
|
||||||
|
file: ./{{ conductor_config }}
|
|
@ -0,0 +1,3 @@
|
||||||
|
---
|
||||||
|
dynomite_shards: 3
|
||||||
|
dynomite_replicas: 3
|
|
@ -1,7 +1,4 @@
|
||||||
---
|
---
|
||||||
- name: Hello world dynomite
|
|
||||||
command: echo "Hello world"
|
|
||||||
|
|
||||||
- name: Generate seedlist
|
- name: Generate seedlist
|
||||||
template:
|
template:
|
||||||
src: templates/seeds.list.j2
|
src: templates/seeds.list.j2
|
||||||
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
---
|
||||||
|
elasticsearch_replicas: 1
|
|
@ -0,0 +1,5 @@
|
||||||
|
---
|
||||||
|
- name: Generate elasticsearch swarm
|
||||||
|
template:
|
||||||
|
src: templates/elasticsearch-swarm.yaml.j2
|
||||||
|
dest: "{{ target_path }}/elasticsearch-swarm.yaml"
|
|
@ -0,0 +1,31 @@
|
||||||
|
version: '3.6'
|
||||||
|
|
||||||
|
services:
|
||||||
|
|
||||||
|
elasticsearch:
|
||||||
|
image: docker.elastic.co/elasticsearch/elasticsearch:5.6.8
|
||||||
|
environment:
|
||||||
|
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
|
||||||
|
- transport.host=0.0.0.0
|
||||||
|
- discovery.type=single-node
|
||||||
|
- xpack.security.enabled=false
|
||||||
|
networks:
|
||||||
|
{{ conductor_network }}:
|
||||||
|
aliases:
|
||||||
|
- es
|
||||||
|
logging:
|
||||||
|
driver: "journald"
|
||||||
|
deploy:
|
||||||
|
mode: replicated
|
||||||
|
replicas: {{ elasticsearch_replicas }}
|
||||||
|
#endpoint_mode: dnsrr
|
||||||
|
placement:
|
||||||
|
constraints: [node.role == worker]
|
||||||
|
restart_policy:
|
||||||
|
condition: on-failure
|
||||||
|
delay: 5s
|
||||||
|
max_attempts: 3
|
||||||
|
window: 120s
|
||||||
|
|
||||||
|
networks:
|
||||||
|
{{ conductor_network }}:
|
Loading…
Reference in New Issue