getorca
(Lawrence)
September 5, 2019, 4:30pm
1
I'm attempting to install plugins using the initContainers method, my code is as follows:
version: 7.2.0
nodes:
- podTemplate:
spec:
initContainers:
- name: install-plugins
command: ['sh', '-c', '| bin/elasticsearch-plugin install --batch repository-s3']
- nodeCount: 3
config:
node.master: true
node.data: true
node.ingest: true
volumeClaimTemplates:
- metadata:
name: elasticsearch-data # note: elasticsearch-data must be the name of the Elasticsearch volume
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 100Gi
storageClassName: do-block-storage
updateStrategy:
changeBudget:
maxSurge: 0
maxUnavailable: 1
However the plugins aren't install and the pods don't update. I can see the version has updated with kubectl describe -f elasticsearch.yaml
How do I get the plugin to install?
pebrc
(Peter Brachwitz)
September 5, 2019, 4:55pm
2
https://www.elastic.co/guide/en/cloud-on-k8s/0.9/k8s-bundles-plugins.html is maybe a bit brief about the structure, but the podTemplate
element has to be part of the node spec. In your sample you are defining inadvertently a second empty group of nodes.
So probably what you want is something like this
version: 7.2.0
nodes:
- nodeCount: 3
config:
node.master: true
node.data: true
node.ingest: true
podTemplate:
spec:
initContainers:
- name: install-plugins
command: ['sh', '-c', 'bin/elasticsearch-plugin install --batch repository-s3']
volumeClaimTemplates:
- metadata:
name: elasticsearch-data # note: elasticsearch-data must be the name of the Elasticsearch volume
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 100Gi
storageClassName: do-block-storage
updateStrategy:
changeBudget:
maxSurge: 0
maxUnavailable: 1
getorca
(Lawrence)
September 5, 2019, 5:04pm
3
that didn't do anything different, the pods aren't updating.
the client and server versions are as follows:
Client Version: version.Info{Major:"1", Minor:"15", GitVersion:"v1.15.3", GitCommit:"2d3c76f9091b6bec110a5e63777c332469e0cba2", GitTreeState:"clean", BuildDate:"2019-08-19T11:13:54Z", GoVersion:"go1.12.9", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"15", GitVersion:"v1.15.3", GitCommit:"2d3c76f9091b6bec110a5e63777c332469e0cba2", GitTreeState:"clean", BuildDate:"2019-08-19T11:05:50Z", GoVersion:"go1.12.9", Compiler:"gc", Platform:"linux/amd64"}```
getorca
(Lawrence)
September 5, 2019, 7:05pm
5
I've tried to run the yaml on a brand new cluter, at least I'm getting an error from a typo, but if I try and change any entries under initContainer, and apply the changes, it has no effect, except on the first first run.
getorca
(Lawrence)
September 6, 2019, 8:06pm
6
Fixed the typo, seemed to have to build the cluster again, but was receiving the same error as described here, https://github.com/elastic/cloud-on-k8s/issues/1590