New to KubeDB? Please start here.

Snapshot and Restore Using Repository Plugins

A snapshot is a backup taken from a running Elasticsearch cluster. You can take snapshots of an entire cluster, including all its data streams and indices. You can also take snapshots of only specific data streams or indices in the cluster.

Snapshots can be stored in remote repositories like Amazon S3, Microsoft Azure, Google Cloud Storage, and other platforms supported by a repository plugin.

Find more details at the official docs: Snapshot and Restore

KubeDB Managed Elasticsearch Docker Images

To enable the snapshot and restore feature, users need to install the respective repositroy plugin. For example, if user needs to installed S3 Repository, the following needed to be run as root user:

sudo bin/elasticsearch-plugin install repository-s3

While running the Elasticsearch cluster in k8s, you don’t always have the previliage to run as root user. Moreover, the plugin must be installed on every node in the cluster, and each node must be restarted after installation which bring more operational complexities. Here comes the KubeDB with Elasticsearch docker images (i.e. Distribution=KubeDB) with the pre-installed plugins; repository-s3, repository-azure, repository-hdfs, and repository-gcs.

$ kubectl get elasticsearchversions
NAME                   VERSION   DISTRIBUTION   DB_IMAGE                                          DEPRECATED   AGE
kubedb-xpack-7.12.0    7.12.0    KubeDB         kubedb/elasticsearch:7.12.0-xpack-v2021.08.23                  4h44m
kubedb-xpack-7.13.2    7.13.2    KubeDB         kubedb/elasticsearch:7.13.2-xpack-v2021.08.23                  4h44m
xpack-8.11.1    7.14.0    KubeDB         kubedb/elasticsearch:7.14.0-xpack-v2021.08.23                  4h44m
kubedb-xpack-7.9.1     7.9.1     KubeDB         kubedb/elasticsearch:7.9.1-xpack-v2021.08.23                   4h44m

In case, you want to build your own custom Elasticsearch image with your own custom set of Elasticsearch plugins, visit the elasticsearch-docker github repository.

What’s Next?