App Store template
Elasticsearch icon

Elasticsearch

Highly available 3-node distributed, RESTful search and analytics engine for logs, metrics, vectors, and application data.

Launch in your Sealos workspace.

Elasticsearch template preview
Template previewFull screenshot
Template deployments
13 on Sealos
Deployment
Your own instance
Category
Database

About this template

Overview

Elasticsearch is a distributed search and analytics engine for logs, metrics, vectors, and application data. This template deploys Elasticsearch 9.4.3 as a fixed 3-node high-availability cluster with an authenticated REST gateway on Sealos Cloud.

From the documentation

Elasticsearch stores and searches structured, unstructured, and vector data through a REST API. Three StatefulSet replicas provide master-eligible data nodes with stable identities and dedicated persistent volumes.

How to deploy Elasticsearch

  1. Choose Deploy now to start Elasticsearch in your Sealos workspace.
  2. Review auth_username, auth_password in the deployment form.
  3. Launch the template, then inspect the application status and resource cards in Canvas.

Resources to plan for

Start with the resources defined by the Elasticsearch template. Review CPU, memory, persistent storage, and network allocations for every service in Canvas. Capacity needs depend on your data and workload; monitor usage as they grow.

Template configuration and setup

Access after deployment

Use the application URL or connection details shown in Canvas. Follow the deployment guide for first-time account setup or client configuration, and keep generated credentials available for that step.

Hosting and billing

Sealos monthly plans include compute, memory, storage, and traffic. Size your plan for all deployed services. Software licenses and external AI or API services may have separate terms and charges. Confirm the applicable plan and optional charges in Cost Center.

Compare Sealos resource plans
Read full documentationCollapse documentation

For current cloud charges, refer to Sealos plan pricing. Upstream documentation may reference earlier billing models.

Deploy and Host Elasticsearch on Sealos

Elasticsearch is a distributed search and analytics engine for logs, metrics, vectors, and application data. This template deploys Elasticsearch 9.4.3 as a fixed 3-node high-availability cluster with an authenticated REST gateway on Sealos Cloud.

Elasticsearch Screenshot

About Hosting Elasticsearch

Elasticsearch stores and searches structured, unstructured, and vector data through a REST API. Three StatefulSet replicas provide master-eligible data nodes with stable identities and dedicated persistent volumes.

The public HTTPS endpoint routes through a lightweight NGINX gateway protected by HTTP Basic Auth. A ClusterIP REST service gives the gateway a stable backend, while a headless service provides discovery and node-to-node transport. A NetworkPolicy limits both internal paths to the gateway and Elasticsearch pods. Sealos manages TLS termination, domain routing, storage attachment, and the deployment lifecycle from Canvas.

Common Use Cases

  • Application Search: Build full-text search for catalogs, documentation, and internal content.
  • Log and Event Analytics: Index operational events for troubleshooting and trend analysis.
  • Vector Search: Store embeddings and run similarity queries through Elasticsearch APIs.
  • Metrics Exploration: Query operational time-series data for dashboards and reports.

Dependencies for Elasticsearch Hosting

The template includes the official Elasticsearch image, three persistent volumes, headless and ClusterIP services, an authenticated NGINX gateway, an HTTPS ingress, and an App link.

Deployment Dependencies
Implementation Details

Architecture Components:

  • Elasticsearch StatefulSet: Three Elasticsearch 9.4.3 master-eligible data nodes with stable pod names.
  • Persistent Storage: One 1Gi volume per node at /usr/share/elasticsearch/data.
  • Headless Service: Stable pod DNS for discovery, bootstrap identity checks, and transport traffic.
  • ClusterIP REST Service: A stable internal endpoint used by the gateway across pod replacements.
  • REST Gateway: One NGINX deployment that applies HTTP Basic Auth before forwarding requests to Elasticsearch.
  • NetworkPolicy: Restricts port 9200 to the gateway and cluster pods, and port 9300 to cluster pods.
  • Ingress and App Link: A Sealos-managed HTTPS domain for REST clients and browser access.

Configuration:

  • The replica count stays fixed at 3.
  • StatefulSet pods start in parallel so persisted nodes can re-establish quorum after a full pod restart.
  • An ordinal-0 node with an empty volume checks peer cluster UUIDs before bootstrap. It sets cluster.initial_master_nodes only after both peer nodes explicitly report that they lack persisted cluster identity.
  • discovery.seed_hosts lists all three StatefulSet pod addresses.
  • Each node receives a 500m CPU limit, 2048Mi memory limit, and a 512Mi Elasticsearch heap. Live Sealos validation found that the next lower memory tier reached 99.8% during authenticated indexing.
  • Startup and readiness checks wait for cluster health to reach yellow; liveness checks the local HTTP listener.
  • Public REST requests require the deployment-time auth_username and auth_password values.
  • The public path uses Sealos TLS and gateway authentication. Internal HTTP and transport traffic remains plaintext inside the NetworkPolicy boundary.

License Information:

Elasticsearch is provided by Elastic under the Elastic License and related licensing terms. Review the official licensing information before production use.

Why Deploy Elasticsearch on Sealos?

Sealos is an AI-assisted Cloud Operating System built on Kubernetes. This template provides:

  • One-Click Deployment: Create the full 3-node cluster and authenticated gateway from the App Store.
  • Kubernetes Foundation: Use StatefulSet identities, service discovery, health probes, and persistent volumes.
  • Managed HTTPS Access: Receive a Sealos domain with TLS termination and Basic Auth at the gateway.
  • Canvas Operations: Adjust resources through the AI dialog or resource cards after deployment.
  • Pay-as-You-Go Resources: Start from a compact HA footprint and increase capacity with workload growth.

Deployment Guide

  1. Open the Elasticsearch template and click Deploy Now.

  2. Set auth_username and auth_password in the popup dialog, then store both values in your credential manager.

  3. Wait for deployment to complete, typically 2-3 minutes. Sealos then opens Canvas for the deployment.

  4. Copy the HTTPS endpoint from the App link and verify cluster health:

    export ES_URL="https://<your-elasticsearch-domain>"
    curl --user '<auth_username>:<auth_password>' \
      "$ES_URL/_cluster/health?pretty"
    

Login and Access

This template presents Elasticsearch as a REST API. Opening the App link in a browser displays an HTTP Basic Auth prompt; enter the same credentials configured during deployment.

REST clients can send the credentials with curl --user, an Authorization: Basic ... header, or the Basic Auth option in an Elasticsearch SDK. Requests with missing or invalid credentials receive 401 Unauthorized from the gateway.

Scaling

This template uses three replicas to preserve a small high-availability topology. To adjust compute resources:

  1. Open the deployment in Canvas.
  2. Select the Elasticsearch StatefulSet resource card.
  3. Update CPU or memory and keep the heap at or below half of the memory limit.
  4. Apply the change through the dialog.

Keep the replica count at 3 so the discovery and bootstrap topology stays aligned with the template.

Troubleshooting

The REST API returns 401
  • Confirm that the request includes the auth_username and auth_password values entered during deployment.
  • Quote credentials containing shell-special characters when using curl --user.
Cluster health remains yellow or red
  • Check the StatefulSet and Pod resource cards in Canvas.
  • Wait for all three pods to become ready, then call /_cluster/health?pretty through the authenticated endpoint.
A node restarts repeatedly
  • Review the pod logs and memory usage in Canvas.
  • Increase the StatefulSet memory limit and keep the Elasticsearch heap at or below 50% of that limit.
Getting Help

Additional Resources

License

This Sealos template is provided under the repository license. Elasticsearch is distributed under Elastic licensing terms.

From launch to everyday operations

Why deploy
on Sealos

A shorter path from an app you want to an app you can run. Sealos brings deployment and ongoing operations into one place.

  1. One-click deployment

    Start with a ready-made template. Review its configuration and launch from the Sealos console.

  2. Managed Kubernetes

    Run on managed infrastructure with built-in workload scheduling and recovery.

  3. Automatic HTTPS

    Give your application a public HTTPS endpoint with certificates managed for you.

  4. Persistent storage

    Keep application data on persistent volumes across container restarts.

  5. Room to grow

    Adjust CPU, memory, and replicas from the console as your workload changes.

One template. Connected resources.

You Get the Whole Stack

Sealos provisions the resources defined by your template and brings them together in your workspace.

  • App Service

    Container workloads with configurable CPU, memory, and replicas.

  • Public HTTPS URL

    An address for your app, with managed TLS certificates.

  • Database

    A database provisioned alongside your app when the template calls for one.

  • Persistent Volume

    Storage for the files and data your application needs to keep.

  • Environment Variables

    Application settings and secrets configured in one place.

  • Logs & Metrics

    Inspect container logs and resource usage from the console.

Resources and their configuration vary by template. Review the deployment form for this app’s exact setup.

Explore more production-ready templates.

More