Elastic Cloud on Kubernetes release notes
Review the changes, fixes, and more in each release of Elastic Cloud on Kubernetes.
ECK now offers better out-of-the-box PodDisruptionBudgets that automatically keep your cluster available as Pods move across nodes. The new policy calculates the number of Pods per tier that can sustain replacement, and automatically generates a PodDisruptionBudget for each tier. This enables the Elasticsearch cluster to vacate Kubernetes nodes more quickly, while considering cluster health, without interruption. The documentation about PodDisruptionBudget has more information and details.
ECK now supports configuring the length of the generated password for the administrative user of each Elasticsearch cluster. While the default length remains 24 characters, this can now be configured up to a maximum of 72 characters. The password incorporates alphabetic and numeric characters to ensure strong complexity. Refer to the managed credentials page for examples and more details.
- Enable certificate reloading for stack monitoring Beats #8833 (issue: #5448)
- Allow configuration of file-based password character set and length #8817 (issues: #2795, #8693)
- Automatically set GOMEMLIMIT based on cgroups memory limits #8814 (issue: #8790)
- Introduce granular PodDisruptionBudgets based on node roles #8780 (issue: #2936)
- Gate advanced Fleet config logic to Agent v8.13 and later #8869
- Ensure Agent configuration and state persist across restarts in Fleet mode #8856 (issue: #8819)
- Do not set credentials label on Kibana config secret #8852 (issue: #8839)
- Allow elasticsearchRef.secretName in Kibana helm validation #8822 (issue: #8816)
- Update Logstash recipes from to filestream input #8801
- Recipe for exposing Fleet server to outside of the Kubernetes cluster #8788
- Clarify secretName restrictions #8782
- Update ES_JAVA_OPTS comments and explain auto-heap behavior #8753
Updated dependencies
- github.com/gkampitakis/go-snaps v0.5.13 => v0.5.15
- github.com/hashicorp/vault/api v1.20.0 => v1.22.0
- github.com/KimMachineGun/automemlimit => v0.7.4
- github.com/prometheus/client_golang v1.22.0 => v1.23.2
- github.com/prometheus/common v0.65.0 => v0.67.1
- github.com/sethvargo/go-password v0.3.1 => REMOVED
- github.com/spf13/cobra v1.9.1 => v1.10.1
- github.com/spf13/pflag v1.0.6 => v1.0.10
- github.com/spf13/viper v1.20.1 => v1.21.0
- github.com/stretchr/testify v1.10.0 => v1.11.1
- golang.org/x/crypto v0.40.0 => v0.43.0
- k8s.io/api v0.33.2 => v0.34.1
- k8s.io/apimachinery v0.33.2 => v0.34.1
- k8s.io/client-go v0.33.2 => v0.34.1
- k8s.io/utils v0.0.0-20241104100929-3ea5e8cea738 => v0.0.0-20250604170112-4c0f3b243397
- sigs.k8s.io/controller-runtime v0.21.0 => v0.22.2
- sigs.k8s.io/controller-tools v0.18.0 => v0.19.0
It is now possible to propagate metadata from the parent custom resource to the child resources created by the operator. If you add labels or annotations on an Elasticsearch, Kibana, or Agent resource, for example, these can be automatically propagated to the Pods, Services, and other resources created by the operator. Refer to the Propagate Labels and Annotations page for examples and more details.
To reduce the attack surface and improve overall security UBI images are now based on the UBI micro base image.
- UBI: Use micro image instead of minimal #8704
- Propagate metadata to children #8673 (issue: #2652)
- Allow advanced configuration for fleet-managed Elastic Agents #8623 (issue: #8619)
- Set owner on service account Secret, update it when application is recreated #8716
- fix: Cannot disable TLS in Logstash #8706 (issue: #8600)
- Move from deprecated container input to filestream #8679 (issue: #8667)
- Add automated workaround for 9.0.0 maps issue #8665 (issue: #8655)
- Bump go.mod to v3 #8609
- Helm: Add support for missing
remoteClusterServervalue #8612 - Add logs volume for Filebeat and Metricbeat in stack monitoring #8606 (issue: #8605)
- [Helm] Fix examples/logstash/basic-eck.yaml #8695
Updated dependencies
- Update Go version to 1.24.5 #8745
- chore(deps): update registry.access.redhat.com/ubi9/ubi-micro docker tag to v9.6-1750858477 #8711
- fix(deps): update k8s to v0.33.2 #8699
- fix(deps): update module cloud.google.com/go/storage to v1.52.0 #8629
- fix(deps): update module github.com/go-git/go-git/v5 to v5.16.0 #8631
- fix(deps): update module github.com/google/go-containerregistry to v0.20.6 #8672
- fix(deps): update module github.com/magiconair/properties to v1.8.10 #8625
- fix(deps): update module github.com/prometheus/common to v0.63.0 #8569
- fix(deps): update module github.com/spf13/viper to v1.20.1 #8570
- fix(deps): update module google.golang.org/api to v0.227.0 #8529
- fix(deps): update module helm.sh/helm/v3 to 3.17.3 #8598
- ECK 3.0.0 adds support for Elastic Stack version 9.0.0. Elastic Stack version 9.0.0 is not supported on ECK operators running versions earlier than 3.0.0.
- Add support for defining
dnsPolicyanddnsConfigoptions for the ECK operator StatefulSet #7999 - Config: Allow escaping dots in keys via
[unsplit.key]syntax #8512 (issue: #8499) - Enable copying of ECK images to Amazon ECR to make it easier for users to find our own ECK operator in the AWS marketplace #8427
- Support new agent image path as of 9.0 #8518
- Remove ubi suffix for 9.x images #8509
- Remove support for 6.x Stack version #8507
- Log resourceVersion on Create and Update #8503
- Remove policyID validation #8449 (issue: #8446)
- Refactor APM server for 9.0.0 #8448 (issue: #8447)
- Improve error messages and events during Fleet setup #8350
- Validate updates to 9.0 go through 8.18 #8559 (issue: #8557)
- [DOCS] Updates release notes title (#8599)
- Updates for Istio 1.24 (#8476)
- Fix unresolved attribute in ECK Quickstart (#8432)
- [Docs] Add synthetic monitoring example (#8385) (issue: #6294)
- [docs] Update heap dump command to use the most recent Java process (#8294)
- [DOC] Document the need for an ingest node for Enterprise Search analytics (#8271)
Updated dependencies
- chore(deps): update dependency go to v1.24.1 (#8454)
- chore(deps): update docker.elastic.co/wolfi/go docker tag to v1.24 (#8453)
- chore(deps): update registry.access.redhat.com/ubi9/ubi-minimal docker tag to v9.5-1741850109 (#8544)
- fix(deps): update k8s to v0.32.2 (#8486)
- fix(deps): update module github.com/gkampitakis/go-snaps to v0.5.11 (#8524)
- fix(deps): update module github.com/go-git/go-git/v5 to v5.14.0 (#8487)
- fix(deps): update module github.com/go-jose/go-jose/v4 from 4.0.1 to 4.0.5 (#8488)
- fix(deps): update module github.com/google/go-cmp to v0.7.0 (#8516)
- fix(deps): update module github.com/hashicorp/vault/api to v1.16.0 (#8517)
- fix(deps): update module github.com/jonboulle/clockwork to v0.5.0 (#8519)
- fix(deps): update module github.com/magiconair/properties to v1.8.9 (#8307)
- fix(deps): update module github.com/prometheus/client_golang to v1.21.1 (#8520)
- fix(deps): update module github.com/prometheus/common to v0.61.0 (#8333)
- fix(deps): update module github.com/spf13/cobra to v1.9.1 (#8523)
- fix(deps): update module github.com/spf13/pflag to v1.0.6 (#8468)
- fix(deps): update module github.com/stretchr/testify to v1.10.0 (#8282)
- fix(deps): update module go.elastic.co/apm/v2 to v2.7.0 (#8576)
- fix(deps): update module golang.org/x/crypto from 0.29.0 to 0.31.0 (#8334)
- fix(deps): update module golang.org/x/net package to 0.38.0 (#8591)
- fix(deps): update module golang.org/x/oauth2 to v0.28.0 (#8528)
- fix(deps): update module helm.sh/helm/v3 to v3.17.1 (#8505)
- Update module github.com/gkampitakis/go-snaps to v0.5.10 (#8467)