Skip to content

Overview

Elastic Cloud on Kubernetes (ECK) is based on the Kubernetes Operator pattern that lets users provision, manage, and operate Elasticsearch clusters on Kubernetes. Elastic Cloud on Kubernetes simplifies setup, upgrades, snapshots, scaling, high availability, security, and more for running Elasticsearch and Kibana in Kubernetes.


What Will You Do

In this exercise, you will create, configure and deploy multiple workloads using the official Elastic Cloud on Kubernetes ECK on a Rafay managed cluster.

  1. The Elastic-operator,
  2. Elasticsearch and
  3. Kibana

Important

This recipe describes the steps to create and use workloads using the Rafay Console. The entire workflow can also be fully automated and embedded into an automation pipeline.


Assumptions

  • You have already provisioned or imported a Kubernetes cluster using Rafay
  • You have sufficient CPU, Memory and Storage in your cluster for an Elastic Cloud on Kubernetes (ECK) deployment
  • You will be deploying ECK v1.2.1 or a newer version from Elastic.co

Challenges

Although deploying a simple ECK stack can look trivial for a quick test, there are a number of considerations that have to be factored in for a production grade deployment. Some of them are described below.

Ingress

The Elasticsearch and Kibana services deployed on the cluster need to be exposed externally for them to be practical. In this recipe, we will use Rafay's "managed nginx Ingress Controller" in the default blueprint to expose the services externally.


Certificate Lifecycle

Elasticsearch's and Kibana's Ingresses need to be secured using TLS. It is impractical to manually handle certificates and private keys. In this recipe, we will use a Rafay managed cert-manager addon in the cluster blueprint to manage the lifecycle of certificates for the Ingresses.