Elastic Cloud on Kubernetes 3.3.0
Release Highlights
AutoOps Integration (Enterprise feature)
ECK now supports integration with Elastic AutoOps through a new AutoOpsAgentPolicy custom resource. This allows you to instrument multiple Elasticsearch clusters at once for automated health monitoring and performance recommendations. The AutoOps documentation provides more details.
Elastic Package Registry Integration
ECK now supports deploying and managing Elastic Package Registry (EPR) through a new PackageRegistry custom resource. This is particularly useful for air-gapped environments, enabling Kibana to reference a self-hosted registry instead of the public one. The package registry documentation provides more details.
Multiple Stack Configuration Policies composition support (Enterprise feature)
ECK now includes support for multiple Stack Config Policies targeting the same Elasticsearch cluster or Kibana instance, using a weight-based priority system for deterministic policy composition. The stack config policy documentation provides more details.
Features and enhancements
- AutoOpsAgentPolicy support #8941 (issue: #8789)
- ElasticPackageRegistry support #8800 (issue: #8925)
- Stack Config Policies composition support #8917
- Use standard Kibana labels and Helm labels on the ECK Operator pod #8840 (issue: #8584)
- Add service customization support for Elasticsearch remote cluster server #8892
- Removal of Elasticsearch 6.x support from codebase #8979
Fixes
- Upgrade master StatefulSets last when performing a version upgrade of Elasticsearch #8871 (issue: #8429)
- Fix race condition for pre-existing Stack Config Policy #8928 (issue: #8912)
- Do not set Kibana server.name #8930 (issue: #8929)
- Do not write
elasticsearch.k8s.elastic.co/managed-remote-clusterswhen not necessary #8932 (issue: #8781) - Cleanup orphaned secret mounts when removed from StackConfigPolicy #8937 (issue: #8921)
- Avoid duplicate error logging for generate GET operations on a GVK #8957
- Remove single master at a time upscale restriction #8940 (issue: #8939)
- AutoOps: Ignore deprecated ES clusters #9008 (issue: #9000)
- AutoOps: Require 9.2.1 for AutoOps agent #9007 (issue: #9000)
- Multi-SCP: Flip weight semantics - higher weight takes precedence #9046
Documentation improvements
- Update Google Cloud LoadBalancer recipe for new requirements #8843
- Fix minUnavailable typo in PDB documentation #8898
- Use GKE ComputeClass instead of DaemonSet for GKE AutoPilot #8982
- Adjust
vm.max_map_countto 1048576 in GKE AutoPilot recipes #8986 - Remove support for Stack 7.17. #9038
Dependency updates
- Go 1.25.2 => 1.25.6
- github.com/KimMachineGun/automemlimit v0.7.4 => v0.7.5
- github.com/elastic/go-ucfg v0.8.9-0.20250307075119-2a22403faaea => v0.8.9-0.20251017163010-3520930bed4f
- github.com/gkampitakis/go-snaps v0.5.15 => v0.5.19
- github.com/google/go-containerregistry v0.20.6 => v0.20.7
- github.com/googlecloudplatform/compute-class-api => v0.0.0-20251208134148-ae2e7936c1f8
- github.com/prometheus/common v0.67.1 => v0.67.5
- github.com/spf13/cobra v1.10.1 => v1.10.2
- go.elastic.co/apm/v2 v2.7.1 => v2.7.2
- go.uber.org/zap v1.27.0 => v1.27.1
- golang.org/x/crypto v0.40.0 => v0.46.0
- k8s.io/api v0.34.1 => v0.35.0
- k8s.io/apimachinery v0.34.1 => v0.35.0
- k8s.io/client-go v0.34.1 => v0.35.0
- k8s.io/utils v0.0.0-20250604170112-4c0f3b243397 => v0.0.0-20251002143259-bc988d571ff4
- sigs.k8s.io/controller-runtime v0.22.2 => v0.22.4
- sigs.k8s.io/controller-tools v0.19.0 => v0.20.0