Skip to content

Commit 44a0367

Browse files
eedugonkilfoyleshainaraskas
authored
upgrade docs signifficant refinement (#2296)
This PR include multiple changes and improvements in the upgrade docs: - Upgrade orchestrators moved downward in the TOC - Landing page ([upgrade.md](https://docs-v3-preview.elastic.dev/elastic/docs-content/pull/2296/deploy-manage/upgrade)): Improved introduction, added an overview upgrade section as a map for the entire upgrade documentation, and upgrade-path to highlight that important information. - [Plan upgrade](https://docs-v3-preview.elastic.dev/elastic/docs-content/pull/2296/deploy-manage/upgrade/plan-upgrade): Scope clarified, the page is about general recommendations for the upgrade and compatibility verifications in order to create an upgrade plan. Added an `upgrade order` section, and a final `example`. - [Prepare to upgade](https://docs-v3-preview.elastic.dev/elastic/docs-content/pull/2296/deploy-manage/upgrade/prepare-to-upgrade): We had lost part of the content (minor upgrades preparation steps) during the docs migration, and now that we have multiple 9.x versions that part feels needed. I've also re-worked that page and put all common steps (for major or minor upgrades) together, as the original asciidoc document (https://www.elastic.co/guide/en/elastic-stack/8.18/upgrading-elastic-stack.html) also felt repetitive and a bit duplicate. - [Upgrade your deployment or cluster](https://docs-v3-preview.elastic.dev/elastic/docs-content/pull/2296/deploy-manage/upgrade/deployment-or-cluster): changed a bit the intro and structure, plus added `out of order` releases section, related and linked from the upgrade-paths of the landing page. - [Upgrade Elasticsearch self-managed (rolling upgrade instructions)](https://docs-v3-preview.elastic.dev/elastic/docs-content/pull/2296/deploy-manage/upgrade/deployment-or-cluster/elasticsearch): Just minor changes adding some headings for better visibility. I've tried to also position properly the documents in the flow, with "next steps" sections and proper introductions. Closes: #1608 Part of the work of #1685 --------- Co-authored-by: David Kilfoyle <[email protected]> Co-authored-by: shainaraskas <[email protected]>
1 parent ac86ef7 commit 44a0367

21 files changed

+438
-132
lines changed
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
::::{note}
2+
With [{{serverless-full}}](/deploy-manage/deploy/elastic-cloud/serverless.md), upgrades of the Elastic-managed infrastructure and project components are fully handled by Elastic. Users automatically receive the latest features and improvements, with no need to plan or perform project-level upgrades.
3+
4+
Keep in mind that the [ingest components](/deploy-manage/upgrade/ingest-components.md) or clients you manage externally, such as {{agent}}, {{beats}}, {{ls}}, or custom applications, still need to be updated manually.
5+
::::

deploy-manage/deploy/cloud-on-k8s.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ ECK should work with all conformant **installers** listed in these [FAQs](https:
9191

9292
Alpha, beta, and stable API versions follow the same [conventions used by Kubernetes](https://kubernetes.io/docs/concepts/overview/kubernetes-api/#api-versioning).
9393

94-
### {{stack}} compatibility
94+
### {{stack}} compatibility [stack-compatibility]
9595

9696
ECK is compatible with the following {{stack}} applications:
9797

deploy-manage/toc.yml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -797,12 +797,6 @@ toc:
797797
- file: upgrade.md
798798
children:
799799
- file: upgrade/plan-upgrade.md
800-
- file: upgrade/orchestrator.md
801-
children:
802-
- file: upgrade/orchestrator/upgrade-cloud-enterprise.md
803-
children:
804-
- file: upgrade/orchestrator/re-running-the-ece-upgrade.md
805-
- file: upgrade/orchestrator/upgrade-cloud-on-k8s.md
806800
- file: upgrade/prepare-to-upgrade.md
807801
children:
808802
- file: upgrade/prepare-to-upgrade/upgrade-assistant.md
@@ -823,6 +817,12 @@ toc:
823817
- file: upgrade/deployment-or-cluster/kibana-roll-back.md
824818
- file: upgrade/deployment-or-cluster/enterprise-search.md
825819
- file: upgrade/ingest-components.md
820+
- file: upgrade/orchestrator.md
821+
children:
822+
- file: upgrade/orchestrator/upgrade-cloud-enterprise.md
823+
children:
824+
- file: upgrade/orchestrator/re-running-the-ece-upgrade.md
825+
- file: upgrade/orchestrator/upgrade-cloud-on-k8s.md
826826
- file: uninstall.md
827827
children:
828828
- file: uninstall/uninstall-elastic-cloud-enterprise.md

deploy-manage/upgrade.md

Lines changed: 91 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,99 @@
1+
---
2+
applies_to:
3+
stack:
4+
deployment:
5+
eck:
6+
ess:
7+
ece:
8+
self:
9+
products:
10+
- id: kibana
11+
- id: cloud-enterprise
12+
- id: cloud-hosted
13+
- id: cloud-kubernetes
14+
- id: elasticsearch
15+
---
16+
117
# Upgrade
218

3-
Upgrading to the latest version provides access to the newest Elastic features, enhancements, performance improvements, and bug fixes. These updates reduce costs, speed up threat response, and improve investigative and analytical data tools.
19+
Upgrading to the latest version provides access to the newest Elastic features, security patches, performance improvements, and bug fixes. These updates reduce costs, speed up threat response, and improve investigative and analytical data tools.
420

5-
:::{important}
6-
In {{stack}} 9.0.0 and beyond, Enterprise Search is unavailable. For more information, refer to [Migrating to 9.x from Enterprise Search 8.x versions](https://www.elastic.co/guide/en/enterprise-search/8.18/upgrading-to-9-x.html).
21+
As Elastic releases new versions, older versions of Elastic products reach their end of life on a set schedule. To keep your deployment supported, stay up to date. For more information, refer to [Product End of Life Dates](https://www.elastic.co/support/eol).
22+
23+
:::{include} /deploy-manage/_snippets/serverless-upgrade.md
724
:::
825

9-
When Elastic releases new versions, older versions reach their end of life on a set schedule. To keep your deployment supported, stay up to date. For more information, refer to [Product End of Life Dates](https://www.elastic.co/support/eol).
26+
The upgrade procedure depends on how your deployment is managed. If you're using {{ech}} or {{ece}}, upgrades can often be performed with a single click in the {{ecloud}} UI. For self-managed deployments, upgrades must be carried out manually using a rolling upgrade process, upgrading the nodes one by one to minimize downtime and ensure cluster stability.
27+
28+
This section provides guidance to help you plan and safely perform upgrades of your {{stack}} components, with a primary focus on {{es}} and {{kib}} as the core of the stack. It also covers upgrades for orchestration platforms like {{ece}} and {{eck}}, as well as related components such as APM, {{beats}}, {{agent}}, and {{ls}}.
1029

11-
:::{note}
12-
Upgrading from a release candidate build, such as 9.0.0-rc1, is unsupported. Use pre-releases only for testing in a temporary environment.
30+
:::{important}
31+
In {{stack}} 9.0.0 and beyond, Enterprise Search is unavailable. For more information, refer to [Migrating to 9.x from Enterprise Search 8.x versions](https://www.elastic.co/guide/en/enterprise-search/8.19/upgrading-to-9-x.html).
1332
:::
1433

34+
## Upgrade overview
35+
36+
Upgrading your Elastic cluster or deployment involves several stages, including planning, preparation, and execution. This section guides you through the full upgrade process:
37+
38+
- [Plan your upgrade](./upgrade/plan-upgrade.md): Review compatibility, define your upgrade path and order, and understand important pre-upgrade considerations.
39+
40+
- [Prepare to upgrade](./upgrade/prepare-to-upgrade.md): Follow detailed preparation steps for major, minor, and patch upgrades. Identify breaking changes, run the Upgrade Assistant (for major upgrades), and verify readiness.
41+
42+
- [Upgrade your deployment or cluster](./upgrade/deployment-or-cluster.md): Step-by-step instructions for performing the upgrade, organized by deployment type:
43+
44+
- [Upgrade deployments on {{ech}}](/deploy-manage/upgrade/deployment-or-cluster/upgrade-on-ech.md)
45+
- [Upgrade deployments on {{ece}}](/deploy-manage/upgrade/deployment-or-cluster/upgrade-on-ece.md)
46+
- [Upgrade deployments on {{eck}}](/deploy-manage/upgrade/deployment-or-cluster/upgrade-on-eck.md)
47+
- [Upgrade self-managed clusters](/deploy-manage/upgrade/deployment-or-cluster/self-managed.md)
48+
49+
- [Upgrade ingest components](./upgrade/ingest-components.md): Covers supporting components such as {{beats}}, {{agent}}, {{ls}}, and APM Server.
50+
51+
Additionally, if you're using a self-managed orchestration platform such as {{ece}} or {{eck}}, refer to [Upgrade your ECE or ECK orchestrator](/deploy-manage/upgrade/orchestrator.md) to keep the orchestrator up to date.
52+
53+
## Availability during upgrades
54+
55+
{{es}} supports rolling upgrades, where nodes are upgraded one at a time to minimize downtime and ensure cluster stability. If your deployment or cluster follows high availability best practices, such as using replicated indices and distributing nodes across multiple availability zones, it should remain available throughout the entire upgrade process.
56+
57+
{{kib}} upgrades, however, require downtime. All running instances must be shut down before starting the upgrade.
58+
59+
::::{important}
60+
Ensure your deployment is properly sized and configured for high availability to reduce the risk of service interruption during upgrades.
61+
62+
If you want to learn more about scaling, high availability, and performance, refer to:
63+
* [Run {{es}} in production](/deploy-manage/production-guidance/elasticsearch-in-production-environments.md)
64+
* [Run {{kib}} in production](/deploy-manage/production-guidance/kibana-in-production-environments.md)
65+
* [{{ech}} > Plan for production](/deploy-manage/deploy/elastic-cloud/elastic-cloud-hosted-planning.md)
66+
::::
67+
68+
You’ll find more information about availability considerations for specific deployment types in the related upgrade guides within this section.
69+
70+
## Upgrade paths [upgrade-paths]
71+
72+
You can upgrade to a higher version if the target version was released *after* your current version. Upgrades to versions released *before* your current version are not supported, even if the version number is higher. Refer to [out-of-order releases](/deploy-manage/upgrade/deployment-or-cluster.md#out-of-order-releases) for more information.
73+
74+
For example:
75+
- ✅ Upgrade allowed: From 9.0.4 to 9.1.0 (9.1.0 released *after* 9.0.4)
76+
- ❌ Not allowed: From 9.0.5 to 9.1.0 (9.1.0 released *before* 9.0.5) → wait for 9.1.1 to be released
77+
<!--
78+
Uncomment this example when 9.1.1 is released.
79+
- ✅ Upgrade allowed: From 9.0.5 to 9.1.1 (9.1.1 released *after* 9.0.5)
80+
-->
81+
82+
### Upgrade paths from 8.x [upgrade-paths-8.x]
83+
84+
To perform a major upgrade from 8.x, the required starting version depends on the target release:
85+
86+
- To upgrade to the **9.0.x series**, you must be on **8.18.x**.
87+
- To upgrade to **9.1.0 or later**, you must be on **8.19.x**, which is the latest minor release of the 8.x series.
88+
89+
::::{note}
90+
While 8.19 is the final minor release in the 8.x series, 8.18 was released at the same time as 9.0, enabling a supported upgrade path between the 8.18.x and 9.0.x series. This compatibility also applies to other features and clients.
91+
::::
92+
93+
If you're upgrading to the current {{version.stack}} release from an earlier 8.x version, first upgrade to the latest available 8.19 release.
94+
95+
#### Ingest tools and clients considerations
96+
97+
For flexible upgrade scheduling, 8.19 {{agent}}, {{beats}}, and {{ls}} are compatible with all 9.x versions of {{es}}.
98+
99+
By default, 8.x {{es}} clients are compatible with 9.x and use [REST API compatibility](elasticsearch://reference/elasticsearch/rest-apis/compatibility.md) to maintain compatibility with the 9.x cluster.

deploy-manage/upgrade/deployment-or-cluster.md

Lines changed: 26 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -28,17 +28,38 @@ products:
2828

2929
# Upgrade your deployment or cluster [upgrade-deployment-cluster]
3030

31-
When upgrading an existing cluster, you perform a minor or major upgrade. For example, a minor upgrade takes you from version 9.0.0 to 9.1.0, while a major upgrade takes you from version 8.0.0 to 9.0.0.
31+
This section contains the upgrade instructions for {{es}} clusters and {{kib}} instances. Upgrade procedures depend on whether you installed Elastic components using Elastic-managed or self-managed infrastructure.
3232

33-
Upgrade procedures depend on whether you installed Elastic components using Elastic-managed or self-managed infrastructure.
33+
## Prerequisites
34+
35+
Before proceeding with the upgrade, review the [Plan your upgrade](/deploy-manage/upgrade/plan-upgrade.md) guidance to understand compatibility and timing considerations, and follow the steps in [Prepare to upgrade](/deploy-manage/upgrade/prepare-to-upgrade.md) to get your environment ready for the upgrade.
36+
37+
## Out-of-order releases [out-of-order-releases]
38+
39+
Elastic maintains several minor versions of {{es}} at the same time. This means releases do not always happen in order of their version numbers. You can only upgrade to {{version.stack}} if the version you are currently running meets both of these conditions:
40+
41+
* Has a lower version number than {{version.stack}}
42+
* Has an earlier release date than {{version.stack}}
43+
44+
If you are currently running a version with a lower version number but a later release date than {{version.stack}}, wait for a newer release before upgrading.
45+
46+
Additionally, upgrading from a release candidate build, such as 9.0.0-rc1, is unsupported. Use pre-releases only for testing in a temporary environment.
47+
48+
## Upgrade methods
3449

3550
If you’re using Elastic-managed infrastructure, use the following options:
3651

3752
* [Upgrade on {{ech}}](/deploy-manage/upgrade/deployment-or-cluster/upgrade-on-ech.md)
38-
* Upgrade on [{{serverless-full}}](/deploy-manage/deploy/elastic-cloud/serverless.md), which is automatically performed by Elastic and requires no user management
3953

4054
If you’re using self-managed infrastructure - either on-prem or public cloud - use the following options:
4155

4256
* [Upgrade the {{stack}} on a self-managed cluster](/deploy-manage/upgrade/deployment-or-cluster/self-managed.md)
43-
* [Upgrade on {{ece}} (ECE)](/deploy-manage/upgrade/deployment-or-cluster/upgrade-on-ece.md)
44-
* [Upgrade on {{eck}} (ECK)](/deploy-manage/upgrade/deployment-or-cluster/upgrade-on-eck.md)
57+
* [Upgrade your deployment on {{ece}} (ECE)](/deploy-manage/upgrade/deployment-or-cluster/upgrade-on-ece.md)
58+
* [Upgrade your deployment on {{eck}} (ECK)](/deploy-manage/upgrade/deployment-or-cluster/upgrade-on-eck.md)
59+
60+
:::{include} /deploy-manage/_snippets/serverless-upgrade.md
61+
:::
62+
63+
## Next steps
64+
65+
Once you've successfully upgraded your deployment, you can [upgrade your ingest components](./ingest-components.md), such as {{ls}}, {{agent}}, or {{beats}}.

deploy-manage/upgrade/deployment-or-cluster/archived-settings.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,13 @@
11
---
22
mapped_pages:
33
- https://www.elastic.co/guide/en/elasticsearch/reference/current/archived-settings.html
4+
applies_to:
5+
stack:
6+
deployment:
7+
eck:
8+
ess:
9+
ece:
10+
self:
411
products:
512
- id: elasticsearch
613
---

deploy-manage/upgrade/deployment-or-cluster/elasticsearch.md

Lines changed: 23 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,20 +3,39 @@ applies_to:
33
stack:
44
deployment:
55
self: all
6+
products:
7+
- id: elasticsearch
68
---
79

810
# Upgrade {{es}} [upgrading-elasticsearch]
911

1012
An {{es}} cluster can be upgraded one node at a time so upgrading does not interrupt service. Running multiple versions of {{es}} in the same cluster beyond the duration of an upgrade is not supported, as shards cannot be replicated from upgraded nodes to nodes running the older version.
1113

12-
Before you start, [take the upgrade preparation steps](/deploy-manage/upgrade/prepare-to-upgrade.md). When performing a [rolling upgrade](#rolling-upgrades):
14+
:::{note}
15+
Upgrading from a release candidate build, such as 9.0.0-rc1, is unsupported. Use pre-releases only for testing in a temporary environment.
16+
:::
1317

14-
1. Upgrade the data nodes first, tier-by-tier, starting with the frozen tier, then the cold tier, then the warm tier, then the hot tier, and finally any other data nodes which are not in a tier. Complete the upgrade for all nodes in each data tier before moving to the next. This ensures {{ilm-init}} can continue to move data through the tiers during the upgrade. You can get the list of nodes in a specific tier with a `GET /_nodes` request, for example: `GET /_nodes/data_frozen:true/_none`.
18+
Before you start the rolling upgrade procedure, [plan your upgrade](/deploy-manage/upgrade/plan-upgrade.md) and [take the upgrade preparation steps](/deploy-manage/upgrade/prepare-to-upgrade.md).
19+
20+
## {{es}} nodes upgrade order
21+
22+
When performing a [rolling upgrade](#rolling-upgrades):
23+
24+
1. Upgrade the data nodes first, tier-by-tier, in the following order:
25+
1. The frozen tier
26+
2. The cold tier
27+
3. The warm tier
28+
4. The hot tier
29+
5. Any other data nodes which are not in a tier.
30+
31+
Complete the upgrade for all nodes in each data tier before moving to the next. This ensures {{ilm-init}} can continue to move data through the tiers during the upgrade. You can get the list of nodes in a specific tier with a `GET /_nodes` request, for example: `GET /_nodes/data_frozen:true/_none`.
1532
2. Upgrade all remaining nodes that are neither master-eligible nor data nodes. This includes dedicated ML nodes, dedicated ingest nodes, and dedicated coordinating nodes.
1633
3. Upgrade the master-eligible nodes last. You can retrieve a list of these nodes with `GET /_nodes/master:true/_none`.
1734

1835
This order ensures that all nodes can join the cluster during the upgrade. Upgraded nodes can join a cluster with an older master, but older nodes cannot always join a cluster with a upgraded master.
1936

37+
## Upgrade process
38+
2039
To upgrade a cluster:
2140

2241
1. **Disable shard allocation**.
@@ -45,10 +64,9 @@ To upgrade a cluster:
4564
It is possible to leave your {{ml}} jobs running during the upgrade, but it puts increased load on the cluster. When you shut down a {{ml}} node, its jobs automatically move to another node and restore the model states.
4665

4766
::::{note}
48-
Any {{ml}} indices created before 8.x must be reindexed before upgrading, which you can initiate from the **Upgrade Assistant** in 8.18. For more information, refer to [Anomaly detection results migration]
67+
Any {{ml}} indices created before 8.x must be reindexed before upgrading, which you can initiate from the **Upgrade Assistant** in 8.19. For more information, refer to [Anomaly detection results migration]
4968
::::
5069

51-
5270
* Temporarily halt the tasks associated with your {{ml}} jobs and {{dfeeds}} and prevent new jobs from opening by using the [set upgrade mode API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-ml-set-upgrade-mode):
5371

5472
```console
@@ -187,7 +205,7 @@ To upgrade a cluster:
187205

188206

189207

190-
## Rolling upgrades [rolling-upgrades]
208+
## Rolling upgrades considerations [rolling-upgrades]
191209

192210
During a rolling upgrade, the cluster continues to operate normally. However, any new functionality is disabled or operates in a backward compatible mode until all nodes in the cluster are upgraded. New functionality becomes operational once the upgrade is complete and all nodes are running the new version. Once that has happened, there’s no way to return to operating in a backward compatible mode. Nodes running the previous version will not be allowed to join the fully-updated cluster.
193211

deploy-manage/upgrade/deployment-or-cluster/enterprise-search.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,4 +12,4 @@ applies_to:
1212

1313
In {{stack}} 9.0.0 and beyond, Enterprise Search is unavailable. We recommend migrating to {{es}} for improved performance, scalability, and flexibility. For information about what {{es}} features you can use, check out this [blog post](https://www.elastic.co/blog/app-search-to-elasticsearch).
1414

15-
For complete information about resources and initiatives related to App Search migrations, future enhancements, and decommissioning, refer to [Migrating to 9.x from Enterprise Search 8.x versions](https://www.elastic.co/guide/en/enterprise-search/8.18/upgrading-to-9-x.html).
15+
For complete information about resources and initiatives related to App Search migrations, future enhancements, and decommissioning, refer to [Migrating to 9.x from Enterprise Search 8.x versions](https://www.elastic.co/guide/en/enterprise-search/8.19/upgrading-to-9-x.html).

deploy-manage/upgrade/deployment-or-cluster/kibana-roll-back.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,9 @@
22
navigation_title: Roll back to a previous version
33
mapped_pages:
44
- https://www.elastic.co/guide/en/kibana/current/upgrade-migrations-rolling-back.html
5+
applies_to:
6+
deployment:
7+
self: all
58
products:
69
- id: kibana
710
---

0 commit comments

Comments
 (0)