- Elastic Cloud Enterprise - Elastic Cloud on your Infrastructure: other versions:
- Introducing Elastic Cloud Enterprise
- Preparing your installation
- Installing Elastic Cloud Enterprise
- Identify the deployment scenario
- Install ECE on a public cloud
- Install ECE on your own premises
- Alternative: Install ECE with Ansible
- Log into the Cloud UI
- Install ECE on additional hosts
- Migrate ECE to Podman hosts
- Post-installation steps
- Configuring your installation
- System deployments configuration
- Configure deployment templates
- Tag your allocators
- Edit instance configurations
- Create instance configurations
- Create deployment templates
- Configure system deployment templates
- Configure index management for templates
- Updating custom templates to support
node_roles
and autoscaling - Updating custom templates to support Integrations Server
- Default instance configurations
- Include additional Kibana plugins
- Manage snapshot repositories
- Manage licenses
- Change the ECE API URL
- Change endpoint URLs
- Enable custom endpoint aliases
- Configure allocator affinity
- Change allocator disconnect timeout
- Migrate ECE on Podman hosts to SELinux in
enforcing
mode
- Securing your installation
- Monitoring your installation
- Administering your installation
- Working with deployments
- Create a deployment
- Access Kibana
- Adding data to Elasticsearch
- Migrating data
- Ingesting data from your application
- Ingest data with Node.js on Elastic Cloud Enterprise
- Ingest data with Python on Elastic Cloud Enterprise
- Ingest data from Beats to Elastic Cloud Enterprise with Logstash as a proxy
- Ingest data from a relational database into Elastic Cloud Enterprise
- Ingest logs from a Python application using Filebeat
- Ingest logs from a Node.js web application using Filebeat
- Manage data from the command line
- Administering deployments
- Change your deployment configuration
- Maintenance mode
- Terminate a deployment
- Restart a deployment
- Restore a deployment
- Delete a deployment
- Migrate to index lifecycle management
- Disable an Elasticsearch data tier
- Access the Elasticsearch API console
- Work with snapshots
- Restore a snapshot across clusters
- Upgrade versions
- Editing your user settings
- Deployment autoscaling
- Configure Beats and Logstash with Cloud ID
- Keep your clusters healthy
- Keep track of deployment activity
- Secure your clusters
- Deployment heap dumps
- Deployment thread dumps
- Traffic Filtering
- Connect to your cluster
- Manage your Kibana instance
- Manage your APM & Fleet Server (7.13+)
- Manage your APM Server (versions before 7.13)
- Manage your Integrations Server
- Switch from APM to Integrations Server payload
- Enable logging and monitoring
- Enable cross-cluster search and cross-cluster replication
- Access other deployments of the same Elastic Cloud Enterprise environment
- Access deployments of another Elastic Cloud Enterprise environment
- Access deployments of an Elasticsearch Service organization
- Access clusters of a self-managed environment
- Enabling CCS/R between Elastic Cloud Enterprise and ECK
- Edit or remove a trusted environment
- Migrate the cross-cluster search deployment template
- Enable App Search
- Enable Enterprise Search
- Enable Graph (versions before 5.0)
- Troubleshooting
- RESTful API
- Authentication
- API calls
- How to access the API
- API examples
- Setting up your environment
- A first API call: What deployments are there?
- Create a first Deployment: Elasticsearch and Kibana
- Applying a new plan: Resize and add high availability
- Updating a deployment: Checking on progress
- Applying a new deployment configuration: Upgrade
- Enable more stack features: Add Enterprise Search to a deployment
- Dipping a toe into platform automation: Generate a roles token
- Customize your deployment
- Remove unwanted deployment templates and instance configurations
- Secure your settings
- API reference
- Changes to index allocation and API
- Script reference
- Release notes
- Elastic Cloud Enterprise 3.7.3
- Elastic Cloud Enterprise 3.7.2
- Elastic Cloud Enterprise 3.7.1
- Elastic Cloud Enterprise 3.7.0
- Elastic Cloud Enterprise 3.6.2
- Elastic Cloud Enterprise 3.6.1
- Elastic Cloud Enterprise 3.6.0
- Elastic Cloud Enterprise 3.5.1
- Elastic Cloud Enterprise 3.5.0
- Elastic Cloud Enterprise 3.4.1
- Elastic Cloud Enterprise 3.4.0
- Elastic Cloud Enterprise 3.3.0
- Elastic Cloud Enterprise 3.2.1
- Elastic Cloud Enterprise 3.2.0
- Elastic Cloud Enterprise 3.1.1
- Elastic Cloud Enterprise 3.1.0
- Elastic Cloud Enterprise 3.0.0
- Elastic Cloud Enterprise 2.13.4
- Elastic Cloud Enterprise 2.13.3
- Elastic Cloud Enterprise 2.13.2
- Elastic Cloud Enterprise 2.13.1
- Elastic Cloud Enterprise 2.13.0
- Elastic Cloud Enterprise 2.12.4
- Elastic Cloud Enterprise 2.12.3
- Elastic Cloud Enterprise 2.12.2
- Elastic Cloud Enterprise 2.12.1
- Elastic Cloud Enterprise 2.12.0
- Elastic Cloud Enterprise 2.11.2
- Elastic Cloud Enterprise 2.11.1
- Elastic Cloud Enterprise 2.11.0
- Elastic Cloud Enterprise 2.10.1
- Elastic Cloud Enterprise 2.10.0
- Elastic Cloud Enterprise 2.9.2
- Elastic Cloud Enterprise 2.9.1
- Elastic Cloud Enterprise 2.9.0
- Elastic Cloud Enterprise 2.8.1
- Elastic Cloud Enterprise 2.8.0
- Elastic Cloud Enterprise 2.7.2
- Elastic Cloud Enterprise 2.7.1
- Elastic Cloud Enterprise 2.7.0
- Elastic Cloud Enterprise 2.6.2
- Elastic Cloud Enterprise 2.6.1
- Elastic Cloud Enterprise 2.6.0
- Elastic Cloud Enterprise 2.5.1
- Elastic Cloud Enterprise 2.5.0
- Elastic Cloud Enterprise 2.4.3
- Elastic Cloud Enterprise 2.4.2
- Elastic Cloud Enterprise 2.4.1
- Elastic Cloud Enterprise 2.4.0
- Elastic Cloud Enterprise 2.3.2
- Elastic Cloud Enterprise 2.3.1
- Elastic Cloud Enterprise 2.3.0
- Elastic Cloud Enterprise 2.2.3
- Elastic Cloud Enterprise 2.2.2
- Elastic Cloud Enterprise 2.2.1
- Elastic Cloud Enterprise 2.2.0
- Elastic Cloud Enterprise 2.1.1
- Elastic Cloud Enterprise 2.1.0
- Elastic Cloud Enterprise 2.0.1
- Elastic Cloud Enterprise 2.0.0
- Elastic Cloud Enterprise 1.1.5
- Elastic Cloud Enterprise 1.1.4
- Elastic Cloud Enterprise 1.1.3
- Elastic Cloud Enterprise 1.1.2
- Elastic Cloud Enterprise 1.1.1
- Elastic Cloud Enterprise 1.1.0
- Elastic Cloud Enterprise 1.0.2
- Elastic Cloud Enterprise 1.0.1
- Elastic Cloud Enterprise 1.0.0
- What’s new with the Elastic Stack
- About this product
Applying a new deployment configuration: Upgrade
editApplying a new deployment configuration: Upgrade
editOne of the many useful aspects of an API is that you can automate changes across a large number of deployments. Let’s say you have many deployments that are at a specific version of the Elastic Stack that need to be upgraded to a later release. You can either manually change the version of each deployment through the Cloud UI, or you can automate finding all the deployments at the specific version level and then upgrade them through a script.
Before you begin
editThis example requires a deployment with an Elasticsearch cluster to work with that is not being used for anything important. If you don’t already have one, you can follow our My First Deployment
example to create one.
Each version of ECE ships with some versions of the Elastic Stack, but you can add new versions as they become available. If you need to add a new version before trying out this example, check Manage Elastic Stack versions, and then create a new deployment using the selected version. If you’re using environment variables, remember to set $DEPLOYMENT_ID
to the ID of your new deployment.
You can search for deployments that are at a specific version through the RESTful API or you can iterate over the JSON output from the API to get the list you need, similar to what Step 1 shows.
Steps
editTo upgrade a deployment:
-
Use the
_search
endpoint to get a list of the deployments which have Elasticsearch resources that need upgrading. Here, we query for deployments on Elastic Stack version 8.12.0, and we find a deploymentUpgrade Deployment
. To test try this example, you can use the API or the UI to create a deployment on a previous stack version, and then search for it as shown:curl -k -X POST -H "Authorization: ApiKey $ECE_API_KEY" https://$COORDINATOR_HOST:12443/api/v1/deployments/_search -H 'content-type: application/json' -d '{ "query": { "nested" : { "path" : "resources.elasticsearch", "query" : { "bool" : { "must" : [{ "match" : {"resources.elasticsearch.info.plan_info.current.plan.elasticsearch.version" : { "query" : "8.12.0"}} }] } } } }, "size": 100, "sort": [{"metadata.last_modified": { "order": "desc"}}] } '
{ "return_count" : 1, "match_count" : 1, "deployments" : [ { "id" : "DEPLOYMENT_ID", "name" : "Upgrade Deployment", "healthy" : true, "resources" : { ... "elasticsearch": { "version": "8.12.0" }, ... }
-
For each of the deployments that you want to upgrade, make a PUT request updating the
version
setting (in this caseversion
is updated to8.13.2
). Note that both theelasticsearch
andkibana
resources are present in the request:curl -k -X PUT -H "Authorization: ApiKey $ECE_API_KEY" https://$COORDINATOR_HOST:12443/api/v1/deployments/$DEPLOYMENT_ID -H 'content-type: application/json' -d ' { "prune_orphans": false, "resources": { "elasticsearch": [ { "region": "ece-region", "ref_id": "main-elasticsearch", "plan": { "cluster_topology": [ { "id": "hot_content", "node_roles": [ "data_hot", "data_content", "master", "ingest", "remote_cluster_client", "transform" ], "zone_count": 1, "elasticsearch": { "enabled_built_in_plugins": [], "node_attributes": { "data": "hot" } }, "instance_configuration_id": "data.default", "size": { "value": 4096, "resource": "memory" } }, { "id": "warm", "node_roles": [ "data_warm", "remote_cluster_client" ], "zone_count": 1, "elasticsearch": { "enabled_built_in_plugins": [], "node_attributes": { "data": "warm" } }, "instance_configuration_id": "data.highstorage", "size": { "value": 0, "resource": "memory" } }, { "id": "cold", "node_roles": [ "data_cold", "remote_cluster_client" ], "zone_count": 1, "elasticsearch": { "enabled_built_in_plugins": [], "node_attributes": { "data": "cold" } }, "instance_configuration_id": "data.highstorage", "size": { "value": 0, "resource": "memory" } }, { "id": "coordinating", "node_roles": [ "ingest", "remote_cluster_client" ], "zone_count": 1, "elasticsearch": { "enabled_built_in_plugins": [] }, "instance_configuration_id": "coordinating", "size": { "value": 0, "resource": "memory" } }, { "id": "master", "node_roles": [ "master", "remote_cluster_client" ], "zone_count": 1, "elasticsearch": { "enabled_built_in_plugins": [] }, "instance_configuration_id": "master", "size": { "value": 0, "resource": "memory" } }, { "id": "ml", "node_roles": [ "ml", "remote_cluster_client" ], "zone_count": 1, "elasticsearch": { "enabled_built_in_plugins": [] }, "instance_configuration_id": "ml", "size": { "value": 0, "resource": "memory" } } ], "elasticsearch": { "version": "8.13.2" }, "deployment_template": { "id": "default" }, "autoscaling_enabled": false } } ], "kibana": [ { "ref_id": "main-kibana", "elasticsearch_cluster_ref_id": "main-elasticsearch", "region": "ece-region", "plan": { "zone_count": 1, "cluster_topology": [ { "instance_configuration_id": "kibana", "size": { "value": 1024, "resource": "memory" }, "zone_count": 1 } ], "kibana": { "version": "8.13.2" } } } ] } } '
-
DEPLOYMENT_ID
- The deployment ID for the deployment that you want to upgrade.
-
-
After the upgrade operation completes, the Elasticsearch and Kibana resource will be at version 8.13.2. You can confirm that by running:
curl -k -X GET -H "Authorization: ApiKey $ECE_API_KEY" https://$COORDINATOR_HOST:12443/api/v1/deployments/$DEPLOYMENT_ID
"elasticsearch" : { "version" : "8.13.2" }, ... "kibana" : { "version" : "8.13.2", }
-
Optional: Repeat Step 1 to verify that there are no more deployments with Elasticsearch resources at the old version that need to be upgraded:
{ "return_count": 0, "match_count": 0, "deployments": [] }
We recommend keeping all of the components in your deployments at the same version. For that reason, our upgrade example includes both enabled resources: elasticsearch
and kibana
. If a deployment includes other resources, such as APM & Fleet or Enterprise Search, they should also be part of the upgrade request.
On this page