Fork me on GitHub

Teleport

Upgrading a Teleport Cluster

Improve

In this guide, we will show you how to upgrade all of the components in your Teleport cluster.

Teleport Cloud takes care of this setup for you so you can provide secure access to your infrastructure right away.

Get started with a free trial of Teleport Cloud.

Production releases

Avoid running pre-releases (release candidates) in production environments.

The Teleport development team uses Semantic Versioning, which makes it easy to tell if a specific version is recommended for production use.

Component compatibility

In Teleport Cloud, we manage the Auth and Proxy Services for you. You can determine the current version of these services by running the following command, where mytenant is the name of your Teleport Cloud tenant:

curl -s https://mytenant.teleport.sh/webapi/ping | jq '.server_version'

Read the following rules to ensure that your Teleport resource services (e.g., the SSH Service and Database Service) are compatible with the Teleport Auth and Proxy Services. You should check the version of the Auth and Proxy Services regularly to make sure that your Teleport resource services are compatible.

When running multiple teleport binaries within a cluster, the following rules apply:

  • Patch and minor versions are always compatible, for example, any 8.0.1 component will work with any 8.0.3 component and any 8.1.0 component will work with any 8.3.0 component.
  • Servers support clients that are 1 major version behind, but do not support clients that are on a newer major version. For example, an 8.x.x Proxy Service is compatible with 7.x.x resource services and 7.x.x tsh, but we don't guarantee that a 9.x.x resource service will work with an 8.x.x Proxy Service. This also means you must not attempt to upgrade from 6.x.x straight to 8.x.x. You must upgrade to 7.x.x first.
  • Proxy Services and resource services do not support Auth Services that are on an older major version, and will fail to connect to older Auth Services by default. This behavior can be overridden by passing --skip-version-check when starting Proxy Services and resource services.

Backup

Back up before upgrading. We have more instructions in Backing up Teleport.

Upgrade Sequence

When upgrading a single Teleport cluster:

  1. Upgrade the Auth Service first. The Auth Service keeps the cluster state and, if there are data format changes introduced in the new version, will perform necessary migrations.
  2. Upgrade Proxy Service instances. These are stateless and can be upgraded in any sequence or at the same time.
  3. Finally, upgrade your Teleport resource services in any sequence or at the same time.
Warning

If several Auth Service instances are running in the High Availability configuration (for example, in an AWS Auto Scaling group), you must shrink the group to just one Auth Service before performing an upgrade.

While Teleport will attempt to perform any necessary migrations, we recommend users create a backup of their backend before upgrading the Auth Server as a precaution. This allows for a safe rollback in case the migration itself fails.

When upgrading multiple clusters:

  1. First, upgrade the root cluster, i.e. the one that other clusters trust.
  2. Upgrade the Trusted Clusters.

The Teleport Auth Service and Proxy Service are upgraded automatically. When upgrading resource services, you may upgrade in any sequence or at the same time.

When upgrading multiple clusters:

  1. First, upgrade the root cluster, i.e. the one that other clusters trust.
  2. Upgrade the Trusted Clusters.

Further reading

If you would like to learn how to upgrade a single teleport binary, read Upgrade the Teleport Binary.