Ben Abey
Ben Abey

Reputation: 149

Elasticsearch plugin on Kubernetes

I need to restart the Elasticsearch node after installing the injest-attachment plugin on Kubernetes Engine on Google Cloud Platform. I have deployed Elasticsearch on a pod. What is the best way to restart the Elasticsearch nodes?

Upvotes: 3

Views: 1488

Answers (3)

I ran into the same problem when installing the ltr plugin on a Minikube deployment of Elasticsearch.

Following the instructions of using initContainer to install the plugin [1] did not work since I could not figure out how to restart Elasticsearch after plugin installation since I was not able to get root access to the elasticsearch pod.

However, following the instructions on how to build a custom image containig the plugin [2] did solve my problem since in that way the plugin is installed before elasticsearch is started.

[1] https://www.elastic.co/guide/en/cloud-on-k8s/current/k8s-bundles-plugins.html

[2] https://www.elastic.co/guide/en/cloud-on-k8s/current/k8s-custom-images.html

Upvotes: 0

Ijaz Ahmad
Ijaz Ahmad

Reputation: 12110

If Elasticsearch is running directly on the VM:

systemctl restart elasticsearch

If Elasticsearch is running as a container on docker:

docker restart <container-id>

If Elasticsearch is running as a Kubernetes pod (deployed through a Kubernetes manifest):

  • update the image tag in the manifest if needed, and do kubectl apply
  • Or use kubectl replace or kubectl edit commands

On Kubernetes, ideally, you should use the declarative way of updating the manifests and then do a kubectl apply -f

Upvotes: 2

Dan Bowling
Dan Bowling

Reputation: 1235

If you have deployed elasticsearch with a replication set, Kubernetes will enforce the number of desired pods automatically so you can simply kill the existing pod and a new one can be created.

kubectl delete pods example-pod-1812877987

Upvotes: 0

Related Questions