Elasticsearch on Kubernetes: A new chapter begins | Elastic Blog

Elasticsearch on Kubernetes: A new chapter begins

We are excited to announce Elastic Cloud on Kubernetes (ECK), a new orchestration product based on the Kubernetes Operator pattern that lets users provision, manage, and operate Elasticsearch clusters on Kubernetes.

Over the past few years, Kubernetes has emerged as the de facto standard for orchestrating containers and applications running in them. The trend is no different in the Elasticsearch community. Elastic Cloud on Kubernetes delivers on our promise to be where our users are, and provide them with the best possible solutions to deploy and operate Elastic products on their platform of choice.

From releasing official Docker images for Elasticsearch and Kibana to modifying Beats to collect logs and metrics from the ephemeral pods and daemonsets, our journey with Kubernetes goes way, way back. Last December, we doubled down on our commitment by joining the CNCF and launching Helm Charts. ECK is a natural next step — albeit a big one — in our commitment to make it easier for our users to deploy and operate our products and solutions in Kubernetes environments.

An Elasticsearch Operator, but so much more

Built using the Kubernetes Operator pattern, ECK installs into your Kubernetes cluster and goes beyond just simplifying the task of deploying Elasticsearch and Kibana on Kubernetes. It focuses on streamlining all those critical operations, such as:

  • Managing and monitoring multiple clusters
  • Upgrading to new stack versions with ease
  • Scaling cluster capacity up and down
  • Changing cluster configuration
  • Dynamically scaling local storage (includes Elastic Local Volume, a local storage driver)
  • Scheduling backups

But ECK is much more than a Kubernetes Operator. In addition to automating all the operational and cluster administration tasks, it focuses on streamlining the entire Elastic Stack on Kubernetes experience. The vision for ECK is to provide an official way to orchestrate Elasticsearch on Kubernetes and provide a SaaS-like experience for Elastic products and solutions on Kubernetes.

Secure by default

All Elasticsearch clusters launched on ECK are secure by default, which means they have encryption enabled and are protected with a strong default password right at creation time. This experience aligns with what users get when using our Elasticsearch Service on Elastic Cloud.

Providing this secure-by-default experience in a seamless way was no easy feat. Read about the latest security changes we made on the Elastic Stack side to make this possible. TL;DR: Starting with version 6.8 and 7.1, core Elasticsearch security features — TLS encryption, role-based access control, and file and native authentication — are now free.

More free features: Canvas, Maps, Uptime, oh my

All clusters deployed via ECK include powerful free features and tier capabilities such as frozen indices for dense storage, Kibana Spaces, Canvas, Elastic Maps, and more. You can even monitor Kubernetes logs and infrastructure using Elastic Logs and Elastic Infrastructure apps. It’s the fully featured Elastic Stack experience on Kubernetes that you will only get from Elastic.

Deploy hot-warm-cold and custom topologies

Hot-warm-cold is a powerful Elasticsearch cluster topology for logging, metrics, and other time series use cases. It’s a common architectural pattern to balance long-term storage and performance needs without breaking the bank. With ECK, users can deploy hot-warm-cold clusters on Kubernetes, and then easily configure data lifecycle policies using index lifecycle management (ILM) to move data between node tiers as it ages.

There’s no compression algorithm for experience

When it comes to deploying software, day 1 is easy. Day 2 not so much. A lot goes into streamlining the operation of a stateful system like Elasticsearch in a dynamic orchestration framework like Kubernetes. How do you provide persistent local storage that can dynamically scale? We are building Elastic Local Volume, an integrated storage driver for Kubernetes, right into ECK. Best practices like draining a node prior to scaling down, rebalancing shards as you scale up, and many more are baked right in.

Elastic Cloud on Kubernetes builds on our years of operational knowledge as the creators of Elasticsearch and Elastic Cloud Enterprise, and operators of our Elasticsearch Service, Elastic's SaaS service available on AWS and GCP . We have encoded all that operational experience into how Elasticsearch and Kibana deployments are orchestrated and operated within Kubernetes.

From ensuring no data loss on configuration changes to zero downtime when scaling, we left no operational stone unturned when building ECK.

Forever free tier

Since the early days of Elasticsearch, our goal has always been to provide new users with a rich getting started experience by packing a lot of powerful features into the free, default distribution. ECK is no different.

The default distribution of ECK is forever free. In the spirit of openness and transparency, we have also made all the source code for ECK publicly viewable, licensed under the Elastic License, in the Elastic cloud-on-k8s GitHub repository.

An Enterprise (paid) subscription enables additional features, including the ability to deploy clusters with advanced features such as field- and document-level access control, machine learning, graph analytics, and more. In the future, the Enterprise subscription will also unlock additional advanced orchestration features.

Official GKE support, with more on the way

In this initial alpha launch of ECK, we support Google Kubernetes Engine (GKE) and vanilla Kubernetes version 1.11 and above. Future versions will continue to expand support to other flavors of Kubernetes. Many customers also want to take advantage of Elasticsearch on managed Kubernetes across both cloud and on-premises environments such as GKE. ECK takes care of this with a reliable and consistent way to run and manage Elasticsearch clusters at scale

Get started today

Try this out today by running the following on your Kubernetes cluster, and visit the quickstart page for more information.