Movatterモバイル変換


[0]ホーム

URL:


Loading
  1. Elastic Docs/
  2. Deploy and manage/
  3. Deploy/
  4. Elastic Cloud on Kubernetes/
  5. Manage deployments

Elastic Stack Helm chart

Starting from ECK 2.4.0, a Helm chart is available for managing Elastic Stack resources using the ECK Operator. It is available from the Elastic Helm repository and can be added to your Helm repository list by running the following command:

The Elastic Stack (eck-stack) Helm chart is built on top of individual charts such aseck-elasticsearch andeck-kibana. For more details on its structure and dependencies, refer to thechart repository.

The chart enables you to deploy the core components (Elasticsearch and Kibana) together, along with other Elastic Stack applications if needed, under the same chart release.

The following sections guide you through common installation, configuration, and upgrade use cases, and assume basic familiarity withHelm. This guide does not provide a comprehensive introduction to Helm itself. Choose the command that best fits your setup.

Tip

All the provided examples deploy the applications in a namespace namedelastic-stack. Consider adapting the commands to your use case.

Similar to the quickstart examples for Elasticsearch and Kibana, this section describes how to setup an Elasticsearch cluster with a simple Kibana instance managed by ECK, and how to customize a deployment using the eck-stack Helm chart’s values.

# Install an eck-managed Elasticsearch and Kibana using the default values, which deploys the quickstart examples.helm install es-kb-quickstart elastic/eck-stack -n elastic-stack --create-namespace

You can find example Helm values files for deploying and managing more advanced Elasticsearch and Kibana setupsin the project repository.

To use one or more of these example configurations, use the--values Helm option, as seen in the following section.

# Install an eck-managed Elasticsearch and Kibana using the Elasticsearch node roles example with hot, warm, and cold data tiers, and the Kibana example customizing the http service.helm install es-quickstart elastic/eck-stack -n elastic-stack --create-namespace \    --values https://raw.githubusercontent.com/elastic/cloud-on-k8s/3.3/deploy/eck-stack/examples/elasticsearch/hot-warm-cold.yaml \    --values https://raw.githubusercontent.com/elastic/cloud-on-k8s/3.3/deploy/eck-stack/examples/kibana/http-configuration.yaml

The following section builds upon the previous section, and allows installing Fleet Server, and Fleet-managed Elastic Agents along with Elasticsearch and Kibana.

# Install an eck-managed Elasticsearch, Kibana, Fleet Server, and managed Elastic Agents using custom values.helm install eck-stack-with-fleet elastic/eck-stack \    --values https://raw.githubusercontent.com/elastic/cloud-on-k8s/3.3/deploy/eck-stack/examples/agent/fleet-agents.yaml -n elastic-stack

The following section builds upon the previous sections, and allows installing Logstash along with Elasticsearch, Kibana and Beats.

# Install an eck-managed Elasticsearch, Kibana, Beats and Logstash using custom values.helm install eck-stack-with-logstash elastic/eck-stack \    --values https://raw.githubusercontent.com/elastic/cloud-on-k8s/3.3/deploy/eck-stack/examples/logstash/basic-eck.yaml -n elastic-stack

The following section builds upon the previous sections, and allows installing a standalone Elastic APM Server along with Elasticsearch and Kibana.

# Install an eck-managed Elasticsearch, Kibana, and standalone APM Server using custom values.helm install eck-stack-with-apm-server elastic/eck-stack \    --values https://raw.githubusercontent.com/elastic/cloud-on-k8s/3.3/deploy/eck-stack/examples/apm-server/basic.yaml -n elastic-stack

Use the following code to connect your ECK-managed Elasticsearch clusters toAutoOps using Helm.

# Install an eck-managed Elasticsearch cluster and connect to AutoOps using custom values.helm install eck-stack-with-autoops elastic/eck-stack \    --values https://raw.githubusercontent.com/elastic/cloud-on-k8s/3.3/deploy/eck-stack/examples/autoops/basic.yaml -n elastic-stack

Theeck-autoops-agent-policy chart creates anAutoOpsAgentPolicy resource that connects your Elasticsearch clusters to AutoOps. The ECK operator handles the creation of API keys, agent configuration, and the deployment of Elastic Agent required to send metrics to AutoOps.

To connect to AutoOps using the installation wizard, refer toConnect your ECE, ECK, or self-managed cluster to AutoOps.

The following section describes how to install a Elastic Package Registry resource along with Elasticsearch, Kibana and Fleet Server.

Theeck-package-registry chart creates aPackageRegistry resource that connects your Kibana instance to the Elastic Package Registry. Elastic Cloud on Kubernetes automatically handles the creation of the Elastic Package Registry and the connection to Kibana and Fleet Server.

For more information about configuring the Elastic Package Registry, refer to theDeploy Elastic Package Registry on Elastic Cloud on Kubernetes.

Enterprise Search is not available in Elastic Stack versions 9.0 and later. For an example deployment of Elasticsearch version 8.x, Kibana 8.x, and an 8.x Enterprise Search server using the Helm chart, refer to theprevious ECK documentation.

You can install individual components in one of two ways using the provided Helm charts:

  • Using Helm values with theeck-stack chart to include only the components you need
  • Using the individual Helm charts directly, without using theeck-stack chart

The following examples show how to install only Elasticsearch using each approach.

This example installs only Elasticsearch by deploying theeck-stack chart and excluding Kibana. By default, the chart deploys both Elasticsearch and Kibana.

helm install es-quickstart elastic/eck-stack -n elastic-stack --create-namespace --set=eck-kibana.enabled=false

This example installs Elasticsearch by deploying theeck-elasticsearch chart on its own.

helm install es-quickstart elastic/eck-elasticsearch -n elastic-stack --create-namespace

To upgrade your Elastic Stack components to a new version or modify the configuration of your existing installation (known as arelease), use thehelm upgrade command.

Thehelm upgrade command requires the following arguments:

  • The name of the release to update, which must match the name used withhelm install.
  • The chart name, which must be the same chart used during installation.
Note

When runninghelm upgrade, it’s recommended to pass the same values and configuration options that were used during installation, together with any changes you want to apply. This ensures that the resulting configuration matches your expectations and reduces the risk of values reverting to the chart defaults during the upgrade.

Helm provides additional options to control how values associated with an existing release are reused or reset during an upgrade. For details, refer to thehelm upgrade documentation.

By default,helm upgrade uses the latest available version of the chart unless the--version option is specified. Refer toView chart versions to list the available chart versions or the version associated with an installed release.

Chart version vs Elastic Stack component version

There is an important distinction between the Helm chart version and the Elastic Stack component version:

  • Chart version: The version of the Helm chart itself (for example,eck-stack version 0.17.0). You can specify this using the--version flag in your Helminstall orupgrade commands.
  • Component version: The version of a Elastic Stack component (for example, Elasticsearch 9.3.0 or Kibana 9.3.0). You can specify this in your values file or by using--set parameters.

Each chart version defines default Elastic Stack component versions. Unless explicitly overridden, installing or upgrading the chart deploys those default versions.

All examples in this section assume that your release was installed using theeck-stack Helm chart. Adapt the examples if you deployed theindividual charts directly.

To upgrade an installed release namedes-kb-quickstart to the latest version of the Helm chart, do the following:

helm repo updatehelm upgrade es-kb-quickstart elastic/eck-stack -n elastic-stack
  1. Refresh the local chart cache.

By default, upgrading the Helm chart also upgrades the Elastic Stack components to the versions associated with that chart version. To override this behavior, you can explicitly set the Elastic Stack component versions to use, as shown in the following section.

If you want to upgrade the Elastic Stack components to a later version that is not the default for the Helm chart, or you want to update your Helm chart without upgrading the Elastic Stack, you can explicitly set the component versions using Helm values or--set options.

The following examples show both ways to upgrade the release to the latest available version of the Helm chart and all Elastic Stack components to version 9.3.0.

Use--set options to override the component versions directly from the command line:

helm repo updatehelm upgrade es-kb-quickstart elastic/eck-stack -n elastic-stack \  --set eck-elasticsearch.version=9.3.0 \  --set eck-kibana.version=9.3.0
  1. Refresh the local chart cache.
  2. Specify versions for all the components you deploy. Components without an explicitly defined version continue to use the default versions provided by the chart.

If you already use a values file for this release, update it to include the following settings. Otherwise, create a new values file (for example,custom-values.yaml) with the following content:

eck-elasticsearch:  version: 9.3.0eck-kibana:  version: 9.3.0
  1. Specify versions for all the components you deploy. Components without an explicitly defined version continue to use the default versions provided by the chart.

Then upgrade the release using the values file:

helm repo updatehelm upgrade es-kb-quickstart elastic/eck-stack -n elastic-stack -f custom-values.yaml
  1. Refresh the local chart cache.

To apply configuration changes to an existing release, runhelm upgrade with the complete configuration you want the release to use. This includes both the current configuration and any new changes.

For example, if you installed thequickstart release and want to scale the Elasticsearch cluster to three nodes and expose the Kibana service using a LoadBalancer, do the following:

  1. Create a values file with the desired configuration, and save it ascustom-values.yaml:

    eck-elasticsearch:  nodeSets:  - name: default    count: 3eck-kibana:  http:    service:      spec:        # This deploys a load balancer in a cloud service provider, where supported.        type: LoadBalancer
  2. Apply the configuration usinghelm upgrade:

    helm upgrade es-kb-quickstart elastic/eck-stack \  -n elastic-stack \  -f custom-values.yaml
Warning

This example also upgrades the Elastic Stack components if a newer Helm chart version is available. To avoid this,identify the chart version currently used by your release and include the--version option when runninghelm upgrade.

Support scope for Ingress Controllers

Ingress is a standard Kubernetes concept. While ECK-managed workloads can be publicly exposed using ingress resources, and we provideexample configurations, setting up an Ingress controller requires in-house Kubernetes expertise.

If ingress configuration is challenging or unsupported in your environment, consider using standardLoadBalancer services as a simpler alternative.

Both Elasticsearch and Kibana supportIngress, which can be enabled using the following options:

If an individual chart is used (not eck-stack)

The following command installs an Elasticsearch cluster using theeck-elasticsearch chart and configures an ingress resource:

helm install es-quickstart elastic/eck-elasticsearch -n elastic-stack --create-namespace \  --set=ingress.enabled=true --set=ingress.hosts[0].host=elasticsearch.example.com --set=ingress.hosts[0].path="/"

If eck-stack chart is used

The following command deploys the basic Elasticsearch and Kibana example with ingress resources for both components:

helm install es-kb-quickstart elastic/eck-stack -n elastic-stack --create-namespace \  --set=eck-elasticsearch.ingress.enabled=true --set=eck-elasticsearch.ingress.hosts[0].host=elasticsearch.example.com --set=eck-elasticsearch.ingress.hosts[0].path="/" \  --set=eck-kibana.ingress.enabled=true --set=eck-kibana.ingress.hosts[0].host=kibana.example.com --set=eck-kibana.ingress.hosts[0].path="/"

For illustration purposes, the ingress objects created by the previous command look similar to the following:

# Source: eck-stack/charts/eck-elasticsearch/templates/ingress.yamlapiVersion: networking.k8s.io/v1kind: Ingressmetadata:  name: elasticsearch  labels:    ...spec:  rules:  - host: "elasticsearch.example.com"    http:      paths:      - path: /        pathType: Prefix        backend:          service:            name: elasticsearch-es-http            port:              number: 9200---# Source: eck-stack/charts/eck-kibana/templates/ingress.yamlapiVersion: networking.k8s.io/v1kind: Ingressmetadata:  name: es-kb-quickstart-eck-kibana  labels:    ...spec:  rules:  - host: "kibana.example.com"    http:      paths:      - path: /        pathType: Prefix        backend:          service:            name: es-kb-quickstart-eck-kibana-kb-http            port:              number: 5601

You can view all configurable values of the Elastic Stack helm chart of the individual charts by running the following:

helm show values elastic/eck-stackhelm show values elastic/eck-elasticsearchhelm show values elastic/eck-kibanahelm show values elastic/eck-agenthelm show values elastic/eck-beatshelm show values elastic/eck-apm-serverhelm show values elastic/eck-fleet-serverhelm show values elastic/eck-logstashhelm show values elastic/eck-package-registry

To view the available versions of a Helm chart, update the local chart cache and use thehelm repo search command with--versions option. You can use this flag witheck-stack orindividual charts.

helm repo updatehelm repo search elastic/eck-stack --versions

To view the version associated with an installed release, check theCHART column of thehelm list command output. For example:

$ helm list -n elastic-stackNAME            NAMESPACE    REVISIONUPDATED                             STATUS  CHART                   APP VERSIONes-kb-quickstartelastic-stack2       2025-12-17 11:24:06.156007 +0100 CETdeployedeck-stack-0.17.0

[8]ページ先頭

©2009-2026 Movatter.jp