- Installation and Upgrade Guide: other versions:
- Overview
- Installing the Elastic Stack
- Installing in an air-gapped environment
- Serverless changelog
- Breaking changes
- Release notes
- Upgrade to Elastic 9.0.0-beta1
Upgrade on Elastic Cloud on Kubernetes (ECK)
editUpgrade on Elastic Cloud on Kubernetes (ECK)
editThe ECK orchestrator can safely perform upgrades to newer versions of the various Elastic Stack resources.
To upgrade on ECK, first do the following:
- Ensure you’re prepared to upgrade.
- Ensure the ECK version is compatible with the Elastic Stack version you’re targeting. If necessary, upgrade your orchestrator.
Perform the upgrade
editWhen you are ready, modify the version
field in the resource spec to the desired stack version and the orchestrator will start the upgrade process automatically. Do this for each resource, including Elasticsearch and Kibana. In the following example, we’re modifying the version to 9.0.0
.
apiVersion: elasticsearch.k8s.elastic.co/v1 kind: Elasticsearch metadata: name: elasticsearch-sample namespace: production spec: version: 9.0.0 monitoring: metrics: elasticsearchRefs: - name: monitoring-cluster namespace: observability logs: elasticsearchRefs: - name: monitoring-cluster namespace: observability http: service: spec: type: LoadBalancer nodeSets: - name: master count: 3 config: node.roles: ["master"] xpack.ml.enabled: true node.store.allow_mmap: false volumeClaimTemplates: - metadata: name: elasticsearch-data spec: accessModes: - ReadWriteOnce resources: requests: storage: 20Gi storageClassName: standard podTemplate: metadata: labels: key: sample spec: initContainers: - name: sysctl securityContext: privileged: true command: ['sh', '-c', 'sysctl -w vm.max_map_count=262144'] containers: - name: elasticsearch resources: requests: memory: 2Gi cpu: 0.5 limits: memory: 2Gi cpu: 1 - name: data count: 3 config: node.roles: ["data", "ingest", "ml", "transform"] node.store.allow_mmap: false volumeClaimTemplates: - metadata: name: elasticsearch-data spec: accessModes: - ReadWriteOnce resources: requests: storage: 20Gi storageClassName: standard podTemplate: metadata: labels: key: sample spec: initContainers: - name: sysctl securityContext: privileged: true command: ['sh', '-c', 'sysctl -w vm.max_map_count=262144'] containers: - name: elasticsearch resources: requests: memory: 2Gi cpu: 0.5 limits: memory: 2Gi cpu: 1 --- apiVersion: kibana.k8s.elastic.co/v1 kind: Kibana metadata: name: kibana-sample namespace: production spec: version: 9.0.0 monitoring: metrics: elasticsearchRefs: - name: monitoring-cluster namespace: observability logs: elasticsearchRefs: - name: monitoring-cluster namespace: observability http: service: spec: type: LoadBalancer count: 1 elasticsearchRef: name: elasticsearch-sample
ECK will ensure that Elastic Stack resources are upgraded in the correct order. For more information on how the orchestrator performs upgrades and how to tune its behavior, check out Nodes orchestration.
Next, upgrade your ingest components in the following order:
- Logstash: upgrade instructions
- Beats: upgrade instructions
- Elastic Agent: upgrade instructions
- APM agents: upgrade instructions
On this page