[WIP] Add elasticsearch support
Not tested WIP. Services separated on master, client and data. Need to build and deploy it. Change-Id: I0b9fbe28ab129ee38c14caf852249a45e582c7d0
This commit is contained in:
parent
39ba855c31
commit
f9fba82730
|
@ -3,18 +3,24 @@ MAINTAINER {{ maintainer }}
|
|||
|
||||
ENV JAVA_HOME /usr/lib/jvm/java-1.8.0-openjdk-amd64/
|
||||
|
||||
ADD {{ url.elasticsearch.repo }}/elasticsearch-{{ elasticsearch_version }}.tar.gz /tmp/elasticsearch.tar.gz
|
||||
|
||||
RUN apt-get -y install --no-install-recommends -t jessie-backports openjdk-8-jre \
|
||||
&& curl https://download.elastic.co/elasticsearch/release/org/elasticsearch/distribution/deb/elasticsearch/{{ elasticsearch_version }}/elasticsearch-{{ elasticsearch_version }}.deb -o /tmp/elasticsearch.deb \
|
||||
&& dpkg -i /tmp/elasticsearch.deb \
|
||||
&& rm -f /tmp/elasticsearch.deb \
|
||||
&& apt-get clean
|
||||
|
||||
RUN usermod -a -G microservices elasticsearch \
|
||||
&& chown -R elasticsearch: /usr/share/elasticsearch
|
||||
RUN useradd --user-group elasticsearch \
|
||||
&& usermod -a -G microservices elasticsearch \
|
||||
&& cd /usr/share \
|
||||
&& tar xf /tmp/elasticsearch.tar.gz \
|
||||
&& rm /tmp/elasticsearch.tar.gz \
|
||||
&& mv elasticsearch-{{ elasticsearch_version }} elasticsearch \
|
||||
&& chown -R elasticsearch:elasticsearch /usr/share/elasticsearch
|
||||
|
||||
# by default elasticsearch shell is /bin/false, we need
|
||||
# /bin/bash to run elasticsearch as non-root
|
||||
# https://discuss.elastic.co/t/running-as-non-root-user-service-wrapper-has-changed/7863
|
||||
RUN usermod -s /bin/bash elasticsearch -d /usr/share/elasticsearch
|
||||
|
||||
RUN /usr/share/elasticsearch/bin/elasticsearch-plugin install io.fabric8:elasticsearch-cloud-kubernetes:5.2.2
|
||||
|
||||
USER elasticsearch
|
||||
|
|
|
@ -0,0 +1,23 @@
|
|||
dsl_version: 0.8.0
|
||||
service:
|
||||
name: elasticsearch-client
|
||||
headless: true
|
||||
ports:
|
||||
- {{ elasticsearch.port }}
|
||||
- {{ elasticsearch.cluster_port }}
|
||||
containers:
|
||||
- name: elasticsearch-client
|
||||
image: elasticsearch
|
||||
env:
|
||||
- name: NODE_DATA
|
||||
value: "false"
|
||||
- name: NODE_MASTER
|
||||
value: "false"
|
||||
daemon:
|
||||
files:
|
||||
- elasticsearch.yml
|
||||
command: /usr/share/elasticsearch/bin/elasticsearch
|
||||
files:
|
||||
elasticsearch.yml:
|
||||
path: /usr/share/elasticsearch/config/elasticsearch.yml
|
||||
content: elasticsearch.yml.j2
|
|
@ -0,0 +1,28 @@
|
|||
dsl_version: 0.8.0
|
||||
service:
|
||||
name: elasticsearch-data
|
||||
headless: true
|
||||
ports:
|
||||
- {{ elasticsearch.port }}
|
||||
- {{ elasticsearch.cluster_port }}
|
||||
containers:
|
||||
- name: elasticsearch-data
|
||||
image: elasticsearch
|
||||
volumes:
|
||||
- name: elasticsearch-data
|
||||
path: /usr/share/elasticsearch/data
|
||||
type: empty-dir
|
||||
readOnly: false
|
||||
env:
|
||||
- name: NODE_DATA
|
||||
value: "true"
|
||||
- name: NODE_MASTER
|
||||
value: "false"
|
||||
daemon:
|
||||
files:
|
||||
- elasticsearch.yml
|
||||
command: /usr/share/elasticsearch/bin/elasticsearch
|
||||
files:
|
||||
elasticsearch.yml:
|
||||
path: /usr/share/elasticsearch/config/elasticsearch.yml
|
||||
content: elasticsearch.yml.j2
|
|
@ -1,16 +1,22 @@
|
|||
dsl_version: 0.7.0
|
||||
dsl_version: 0.8.0
|
||||
service:
|
||||
name: elasticsearch
|
||||
name: elasticsearch-master
|
||||
headless: true
|
||||
ports:
|
||||
- {{ elasticsearch.port }}
|
||||
- {{ elasticsearch.cluster_port }}
|
||||
containers:
|
||||
- name: elasticsearch
|
||||
- name: elasticsearch-master
|
||||
image: elasticsearch
|
||||
env:
|
||||
- name: NODE_DATA
|
||||
value: "false"
|
||||
- name: NODE_MASTER
|
||||
value: "true"
|
||||
daemon:
|
||||
command: /usr/share/elasticsearch/bin/elasticsearch
|
||||
files:
|
||||
- elasticsearch.yml
|
||||
command: /usr/share/elasticsearch/bin/elasticsearch
|
||||
- name: cron
|
||||
image: cron
|
||||
daemon:
|
||||
|
@ -19,7 +25,6 @@ service:
|
|||
- es-curator-config
|
||||
- es-curator-action-delete-indice
|
||||
- es-curator-cronjob
|
||||
|
||||
files:
|
||||
elasticsearch.yml:
|
||||
path: /usr/share/elasticsearch/config/elasticsearch.yml
|
|
@ -5,6 +5,12 @@ configs:
|
|||
cluster_port:
|
||||
cont: 9300
|
||||
retention_period: 30
|
||||
namespace: ccp
|
||||
|
||||
url:
|
||||
elasticsearch:
|
||||
repo: https://artifacts.elastic.co/downloads/elasticsearch
|
||||
|
||||
versions:
|
||||
elasticsearch_version: "2.4.0"
|
||||
elasticsearch_version: "5.2.2"
|
||||
elasticsearch_curator_version: "4.1.0"
|
||||
|
|
|
@ -1,11 +1,14 @@
|
|||
node.name: "{{ network_topology["private"]["address"] }}"
|
||||
network.host: [ "127.0.0.1", "{{ network_topology["private"]["address"] }}" ]
|
||||
cluster.name: "ELASTIC"
|
||||
node.master: true
|
||||
node.data: true
|
||||
gateway.expected_nodes: 1
|
||||
node.data: ${NODE_DATA}
|
||||
node.master: ${NODE_MASTER}
|
||||
|
||||
path.conf: "/etc/elasticsearch"
|
||||
path.data: "/var/lib/elasticsearch/data"
|
||||
path.logs: "/var/log/elasticsearch"
|
||||
path.scripts: "/etc/elasticsearch/scripts"
|
||||
network.host: 0.0.0.0
|
||||
|
||||
cloud:
|
||||
kubernetes:
|
||||
service: elasticsearch
|
||||
namespace: {{ namespace }}
|
||||
|
||||
discovery:
|
||||
type: kubernetes
|
||||
|
||||
plugin.mandatory: discovery-kubernetes
|
||||
|
|
Loading…
Reference in New Issue