Hi all,
We’re in the process of upgrading our Elasticsearch cluster from v8.11 to v8.17.8, and we’re also upgrading the ReadonlyREST (ROR) plugin to ensure compatibility with the newer ES version.
We need to perform a rolling upgrade to avoid any downtime, but we’ve run into issues with every approach we’ve tried so far. Here’s a quick summary of what we’ve attempted:
- Dockerfile-based installation: * We copy the ROR plugin
.zip
and install it during the image build. However, the rolling upgrade fails — all pods are terminated and recreated at once, instead of one at a time. - InitContainers + emptyDir volume: Tried to inject the ROR plugin at runtime before ES starts. Pods never become ready. When port-forwarding, ES asks for credentials (looks like the plugin isn’t initializing correctly).
- ECK plugins field (official method): Used the
spec.nodeSets[].podTemplate.spec.initContainers
andplugins:
field in the ECK manifest. Same issue — pods stay unready, and accessing the node requires unknown credentials.
This is what we have for readonlyrest.yml:
coordinator:
readonlyrest.yml: |
readonlyrest:
enable: true
prompt_for_basic_auth: false
response_if_req_forbidden: Forbidden!
access_control_rules:
- name: "::HEALTH::"
type: allow
verbosity: error
actions: ['cluster:monitor/*','indices:monitor/*']
- name: "::READ::"
type: allow
verbosity: error
actions: ['indices:data/read/*']
- name: "::SYNONYMS-MANAGEMENT::"
type: allow
verbosity: error
actions: ['cluster:admin/synonyms/*','cluster:admin/synonym_rules/*']
- name: "::BASIC_AUTH::"
type: allow
verbosity: error
auth_key_sha256: AUTH_KEY_TO_BE_REPLACED_AT_RUN_TIME
- name: "::PROBE::"
verbosity: error
auth_key: "elastic-internal-probe:${INTERNAL_PROBE_PASS}"
- name: "::ELASTIC-INTERNAL::"
verbosity: error
auth_key: "elastic-internal:${INTERNAL_USR_PASS}"
Ask:
Has anyone successfully performed a rolling upgrade of Elasticsearch (8.11+) with ROR plugin with aforementioned approaches or any other approach?
Any known workarounds or recommended best practices would be greatly appreciated!
Thanks in advance!