Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
43 changes: 43 additions & 0 deletions deploy-manage/upgrade/deployment-or-cluster/upgrade-on-ece.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,46 @@ navigation_title: "Upgrade on {{ece}}"
---

# Upgrade on {{ece}} (ECE)

Similar to {{ech}}, a single click in the {{ecloud}} console can upgrade a deployment running on ECE to a newer version, add more processing capacity, change plugins, and enable or disable high availability, all at the same time. During the upgrade process, {{es}}, {{kib}}, and all of your deployment components are upgraded simultaneously.

Once you're prepared to upgrade, do the following:

% Note: Add a link once confirmed where prepare to upgrade will reside in TOC.

1. Ensure your current ECE and Docker or Podman versions are [compatible](https://www.elastic.co/support/matrix/#elastic-cloud-enterprise) with the {{stack}} version you're upgrading to. For example, if you're upgrading to 9.0.0, the minimum required version is ECE 3.0. If you don’t have a compatible version installed, [upgrade your orchestrator](/deploy-manage/upgrade/orchestrator/upgrade-cloud-enterprise.md).
2. Download the most recent [stack pack](/deploy-manage/deploy/cloud-enterprise/manage-elastic-stack-versions.md#ece_most_recent_elastic_stack_packs) for the version you’re upgrading to, then [add the stack pack](/deploy-manage/deploy/cloud-enterprise/manage-elastic-stack-versions.md#ece-manage-elastic-stack-add) to your installation using the Cloud UI.
3. [Configure a snapshot repository](/deploy-manage/tools/snapshot-and-restore/cloud-enterprise.md) to enable snapshots and back up your data.

## Perform the upgrade

1. [Log in to the Cloud UI](/deploy-manage/deploy/cloud-enterprise/log-into-cloud-ui.md).
2. On the Deployments page, select your deployment.

Narrow the list by name, ID, or choose from several other filters. To further define the list, use a combination of filters.

To upgrade a deployment:

1. In the **Deployment version** section, click **Upgrade**.
2. Select the version you're upgrading to. For example, `9.0.0`.
3. Click **Upgrad**e, then **Confirm upgrade**. The new configuration takes a few minutes to create.

::::{note}
If any incompatibilities are detected when you attempt to upgrade, the UI provides a link to the Upgrade Assistant, which checks for deprecated settings in your cluster and indices and helps you resolve them. If there are any issues that would prevent a successful upgrade, the upgrade is blocked. After resolving the issues, return to the **Deployments** page and restart the upgrade.
::::

Security realm settings
: During the upgrade process, you are prompted to update the security realm settings if your user settings include a `xpack.security.authc.realms` value.

If the security realms are configured in `user_settings`, you’ll be prompted to modify the settings:

1. On the **Update security realm settings** window, edit the settings.
2. Click **Update settings**. If the security realm settings are located in `user_settings_override`, contact support to help you upgrade.

## Next steps [next-steps-ece]

Once you've successfully upgraded on {{ece}}, do the following:

* [Upgrade Elastic APM](../../../solutions/observability/apps/upgrade.md)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What's this upgrade Elastic APM about? If APM and Fleet are part of the deployment and managed by ECE they should be automatically upgraded. If that document covers the case of an external APM server connected to the deployment (rare case) then I would specify it. I don't completely understand it, so probably that item needs extra background for the users too.

* [Upgrade your ingest components](/deploy-manage/upgrade/ingest-components.md)

135 changes: 135 additions & 0 deletions deploy-manage/upgrade/deployment-or-cluster/upgrade-on-eck.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,138 @@ navigation_title: "Upgrade on {{eck}}"
---

# Upgrade on {{eck}} (ECK)

The ECK orchestrator can safely perform upgrades to newer versions of the {{stack}}.

Once you are prepared to upgrade, ensure the ECK version is [compatible](https://www.elastic.co/guide/en/cloud-on-k8s/current/k8s-supported.html) with the {{stack}} version you’re upgrading to. If it's incompatible, [upgrade your orchestrator](/deploy-manage/upgrade/orchestrator/upgrade-cloud-on-k8s.md).

% Note: Add a link once confirmed where prepare to upgrade will reside in TOC.

## Perform the upgrade

1. In the resource spec file, modify the `version` field for the desired {{stack}} version.
2. Save your changes. The orchestrator will start the upgrade process automatically.

In this example, we’re modifying the version to `9.0.0`.

```yaml
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 {{stack}} components are upgraded in the correct order. Upgrades to dependent resources are delayed until that dependency is upgraded. For example, the {{kib}} upgrade will start only when the associated {{es}} cluster has been upgraded.

Check out [Nodes orchestration](/deploy-manage/deploy/cloud-on-k8s/nodes-orchestration.md) for more information on how ECK manages upgrades and how to tune its behavior.