For ECK
Installation methods
Using our Docker images from Docker Hub
Elasticsearch node with ReadonlyREST plugin
apiVersion: elasticsearch.k8s.elastic.co/v1
kind: Elasticsearch
metadata:
name: quickstart
spec:
version: 8.14.3
# check https://hub.docker.com/r/beshultd/elasticsearch-readonlyrest
image: beshultd/elasticsearch-readonlyrest:8.14.3-ror-latest
nodeSets:
- name: default
count: 1
config:
node.store.allow_mmap: false
podTemplate:
spec:
containers:
- name: elasticsearch
# we have to run our image as root (id: 0) - after the required patching step Elasticsearch will be run using "elasticsearch" user (id: 1000)
securityContext:
runAsNonRoot: false
runAsUser: 0
runAsGroup: 0
env:
# we have to explicitly agree to patch the ES binaries (the patching step will be done only once)
- name: I_UNDERSTAND_AND_ACCEPT_ES_PATCHING
value: "yes"
# these two passwords are used by "elastic-internal" and "elastic-internal-probe" users - these users are used by ECK
- name: INTERNAL_USR_PASS
valueFrom:
secretKeyRef:
name: quickstart-es-internal-users
key: elastic-internal
- name: INTERNAL_PROBE_PASS
valueFrom:
secretKeyRef:
name: quickstart-es-internal-users
key: elastic-internal-probe
# Kibana service account to handle internal Kibana requests
- name: KIBANA_SERVICE_ACCOUNT_TOKEN
valueFrom:
secretKeyRef:
name: quickstart-kibana-user
key: token
# the initial readonlyrest.yml file loaded by ROR plugin during ES startup
volumeMounts:
- name: config-ror
mountPath: /usr/share/elasticsearch/config/readonlyrest.yml
subPath: readonlyrest.yml
volumes:
- name: config-ror
configMap:
name: config-readonlyrest.ymlKibana node with ReadonlyREST plugin
Using Docker images built by you and stored in your registry
Using an Init Container
Handling asynchronous ROR startup
Sidecar pattern for ROR readiness
How it works
Notes
Example
Last updated