Now you can host dedicated ElasticSearch clusters to meet your business needs using Appbase.io clusters. It allows you to fully manage and scale your ElasticSearch clusters using kubernetes orchestration. You can Visualize with Kibana and choose from addons available in ElasticSearch ecosystem. Along ElasticSearch addons you can leverage other Appbase.io features like Realtime Search, Data browser, Search Preview, Analytics, Mappings, Security.

Getting started

Following are the steps that you can follow, to create a new cluster:

Note - You can also install any other custom plugins after the cluster is created. For more details on how to update plugins via ElasticSearch configurations you can check here

Tracking Deployment Status

Once the cluster creation starts, it takes around 5-10 minutes for a cluster to be up and running. There is a status tag next to cluster name on your cluster dashboard, which will help you know the status of deployment.

cluster creation gif

Once the cluster is created and ElasticSearch is deployed successfully, you will be able to View Details of the cluster.

There you might come across messages which specifies that other addon deployments are still in progress. For accessing all the features, you can wait till all the deployment in progress messages disappear.

cluster creation gif

Managing A Deployed ElasticSearch Cluster

Once the cluster is deployed, you can maintain cluster by

  • Managing addons
  • Scaling cluster based on traffic
  • Managing security via Appbase.io GUI Dashboard
  • Viewing analytics for various indexes
  • Browsing data
  • Monitoring resources used by cluster via Kubernetes Dashboard.

Managing addons

Once the cluster is deployed you can enable / disable the addons from Cluster details page.

addons editing

Accessing Appbase.io GUI Dashboard

In order to access and manage cluster data, you can click on Explore Cluster from cluster details page.

explore

Using this Dashboard you can create/delete indexes or you can explore and manage their individual data. Appbase.io GUI Dashboard also allows you to manage API credentials and Role Based Access, hence adding more layers of security to your application.

Note: For more details on how analytics and security works please check their individual documentation.

Scaling Cluster

At any given point you can scale the cluster by adding/removing ElasticSearch nodes.

cluster creation gif

Sharing Cluster

With the help of Sharing feature you can share cluster access with your team and can also restrict the access by specifying the viewer role to that team member.

Accessing ElasticSearch Logs, Metrics and Advanced Editing

As we deploy ElasticSearch using a Kubernetes orchestration, it allows user to access Kubernetes dashboard and monitor various resource deployed on the cluster.

You can open kubernetes dashboard by click on the link available in Dashboard section of your cluster details page.

Benefits of using Kubernetes

Kubernetes orchestration guarantees a higher reliability for your cluster and it comes with a built-in mechanism to restart a node on failure, allows inspecting and safe editing of your underlying resources.

Monitoring the resource usage

For information on how kubernetes system works and how resources are managed you can check kubernetes Documentation

cluster creation gif

Accessing ElasticSearch logs

ElasticSearch logs can be really helpful from debugging point of view. They can also help us know the deployment status of various plugins and various operations performed on the clusters.

You can follow this steps to access the logs

  • Open kubernetes dashboard
  • Navigate to Workloads > Stateful Set
  • Select elasticsearch from the Stateful Sets
  • Open ElasticSearch Logs by clicking on Logs option in top right menu
cluster creation gif

Advanced Editing

You have no restrictions with respect to editing any part of the ElasticSearch configuration. For example, you can install a custom plugin or updated your ElasticSearch cluster's version. You can also deploy your own docker image to run alongside ElasticSearch.

For example in order to limit access of cluster on limited sites you can edit CORS configuration for ElasticSearch cluster.

  • Open kubernetes dashboard

  • Navigate to Workloads > Stateful Sets

  • Select elasticsearch from the Stateful Sets

  • Open the Stateful Set configuration by clicking Edit option in the top right menu

  • In the spec.containers[0].args option of file, you can change value of -Ehttp.cors.allow-origin. Instead of * we can specify actual sites that are going to access data of this cluster, example -Ehttp.cors.allow-origin https://appbase.io

    cluster creation gif

Note: Editing Stateful Sets will automatically restart pods and will apply configuration to all the ElasticSearch pods in the cluster.