ansible role update
This commit is contained in:
@@ -0,0 +1,19 @@
|
||||
default: test
|
||||
|
||||
include ../../../helpers/examples.mk
|
||||
|
||||
PREFIX := helm-es-multi
|
||||
RELEASE := helm-es-multi-master
|
||||
TIMEOUT := 1200s
|
||||
|
||||
install:
|
||||
helm upgrade --wait --timeout=$(TIMEOUT) --install --values master.yaml $(PREFIX)-master ../../
|
||||
helm upgrade --wait --timeout=$(TIMEOUT) --install --values data.yaml $(PREFIX)-data ../../
|
||||
helm upgrade --wait --timeout=$(TIMEOUT) --install --values client.yaml $(PREFIX)-client ../../
|
||||
|
||||
test: install goss
|
||||
|
||||
purge:
|
||||
helm del $(PREFIX)-master
|
||||
helm del $(PREFIX)-data
|
||||
helm del $(PREFIX)-client
|
||||
@@ -0,0 +1,29 @@
|
||||
# Multi
|
||||
|
||||
This example deploy an Elasticsearch 8.4.1 cluster composed of 3 different Helm
|
||||
releases:
|
||||
|
||||
- `helm-es-multi-master` for the 3 master nodes using [master values][]
|
||||
- `helm-es-multi-data` for the 3 data nodes using [data values][]
|
||||
- `helm-es-multi-client` for the 3 client nodes using [client values][]
|
||||
|
||||
## Usage
|
||||
|
||||
* Deploy the 3 Elasticsearch releases: `make install`
|
||||
|
||||
* You can now setup a port forward to query Elasticsearch API:
|
||||
|
||||
```
|
||||
kubectl port-forward svc/multi-master 9200
|
||||
curl -u elastic:changeme http://localhost:9200/_cat/indices
|
||||
```
|
||||
|
||||
## Testing
|
||||
|
||||
You can also run [goss integration tests][] using `make test`
|
||||
|
||||
|
||||
[client values]: https://github.com/elastic/helm-charts/tree/main/elasticsearch/examples/multi/client.yaml
|
||||
[data values]: https://github.com/elastic/helm-charts/tree/main/elasticsearch/examples/multi/data.yaml
|
||||
[goss integration tests]: https://github.com/elastic/helm-charts/tree/main/elasticsearch/examples/multi/test/goss.yaml
|
||||
[master values]: https://github.com/elastic/helm-charts/tree/main/elasticsearch/examples/multi/master.yaml
|
||||
@@ -0,0 +1,50 @@
|
||||
---
|
||||
clusterName: "multi"
|
||||
nodeGroup: "client"
|
||||
|
||||
extraEnvs:
|
||||
- name: ELASTIC_PASSWORD
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: multi-master-credentials
|
||||
key: password
|
||||
- name: xpack.security.enabled
|
||||
value: "true"
|
||||
- name: xpack.security.transport.ssl.enabled
|
||||
value: "true"
|
||||
- name: xpack.security.http.ssl.enabled
|
||||
value: "true"
|
||||
- name: xpack.security.transport.ssl.verification_mode
|
||||
value: "certificate"
|
||||
- name: xpack.security.transport.ssl.key
|
||||
value: "/usr/share/elasticsearch/config/certs/tls.key"
|
||||
- name: xpack.security.transport.ssl.certificate
|
||||
value: "/usr/share/elasticsearch/config/certs/tls.crt"
|
||||
- name: xpack.security.transport.ssl.certificate_authorities
|
||||
value: "/usr/share/elasticsearch/config/certs/ca.crt"
|
||||
- name: xpack.security.http.ssl.key
|
||||
value: "/usr/share/elasticsearch/config/certs/tls.key"
|
||||
- name: xpack.security.http.ssl.certificate
|
||||
value: "/usr/share/elasticsearch/config/certs/tls.crt"
|
||||
- name: xpack.security.http.ssl.certificate_authorities
|
||||
value: "/usr/share/elasticsearch/config/certs/ca.crt"
|
||||
|
||||
roles: []
|
||||
|
||||
persistence:
|
||||
enabled: false
|
||||
|
||||
# For client nodes, we also need to add an empty node.roles in elasticsearch.yml
|
||||
# This is due to https://github.com/elastic/helm-charts/pull/1186#discussion_r631225687
|
||||
esConfig:
|
||||
elasticsearch.yml: |
|
||||
node.roles: []
|
||||
|
||||
secret:
|
||||
enabled: false
|
||||
|
||||
createCert: false
|
||||
secretMounts:
|
||||
- name: elastic-certificates
|
||||
secretName: multi-master-certs
|
||||
path: /usr/share/elasticsearch/config/certs
|
||||
@@ -0,0 +1,48 @@
|
||||
---
|
||||
clusterName: "multi"
|
||||
nodeGroup: "data"
|
||||
|
||||
extraEnvs:
|
||||
- name: ELASTIC_PASSWORD
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: multi-master-credentials
|
||||
key: password
|
||||
- name: xpack.security.enabled
|
||||
value: "true"
|
||||
- name: xpack.security.transport.ssl.enabled
|
||||
value: "true"
|
||||
- name: xpack.security.http.ssl.enabled
|
||||
value: "true"
|
||||
- name: xpack.security.transport.ssl.verification_mode
|
||||
value: "certificate"
|
||||
- name: xpack.security.transport.ssl.key
|
||||
value: "/usr/share/elasticsearch/config/certs/tls.key"
|
||||
- name: xpack.security.transport.ssl.certificate
|
||||
value: "/usr/share/elasticsearch/config/certs/tls.crt"
|
||||
- name: xpack.security.transport.ssl.certificate_authorities
|
||||
value: "/usr/share/elasticsearch/config/certs/ca.crt"
|
||||
- name: xpack.security.http.ssl.key
|
||||
value: "/usr/share/elasticsearch/config/certs/tls.key"
|
||||
- name: xpack.security.http.ssl.certificate
|
||||
value: "/usr/share/elasticsearch/config/certs/tls.crt"
|
||||
- name: xpack.security.http.ssl.certificate_authorities
|
||||
value: "/usr/share/elasticsearch/config/certs/ca.crt"
|
||||
|
||||
roles:
|
||||
- data
|
||||
- data_content
|
||||
- data_hot
|
||||
- data_warm
|
||||
- data_cold
|
||||
- data_frozen
|
||||
- ingest
|
||||
|
||||
secret:
|
||||
enabled: false
|
||||
|
||||
createCert: false
|
||||
secretMounts:
|
||||
- name: elastic-certificates
|
||||
secretName: multi-master-certs
|
||||
path: /usr/share/elasticsearch/config/certs
|
||||
@@ -0,0 +1,6 @@
|
||||
---
|
||||
clusterName: "multi"
|
||||
nodeGroup: "master"
|
||||
|
||||
roles:
|
||||
- master
|
||||
@@ -0,0 +1,12 @@
|
||||
http:
|
||||
https://localhost:9200/_cluster/health:
|
||||
status: 200
|
||||
timeout: 2000
|
||||
allow-insecure: true
|
||||
username: elastic
|
||||
password: "{{ .Env.ELASTIC_PASSWORD }}"
|
||||
body:
|
||||
- "green"
|
||||
- '"cluster_name":"multi"'
|
||||
- '"number_of_nodes":9'
|
||||
- '"number_of_data_nodes":3'
|
||||
Reference in New Issue
Block a user