Blue/green deployments work well for the stateless parts of systems, but stateful bits like Elasticsearch don't fit into a blue/green model very well at all. You can probably cobble something together with snapshot/restore if you really want, but most folks do rolling upgrades instead.
The other option is to create a new pod with the updated Elasticsearch image, shutdown the old pod and detach the volume from it, then attach the volume to the new pod and start it.
Yes we did it but the intention here was to run the second application without stopping the first, then (when everything is ok with the second) we stop the first and nobody would run out of access
Yeah you can upgrade your application that way, but it's simplest to have both versions of the app pointing at the same Elasticsearch cluster. If you don't want that, you can make a new cluster and restore a snapshot of your old cluster into it. The trouble with that is that any data changes made after the snapshot was taken won't be visible to the new application, but that's just a general problem with blue/green deployments of stateful systems.
Apache, Apache Lucene, Apache Hadoop, Hadoop, HDFS and the yellow elephant
logo are trademarks of the
Apache Software Foundation
in the United States and/or other countries.