This documentation describes how to perform the version upgrade operation of a TraefikEE cluster in Kubernetes.

Do not attempt upgrading using kubectl or helm

Do not try to upgrade your TraefikEE cluster manually by using kubectl apply or helm upgrade and changing the version of TraefikEE in the deployed files. Using the method described in this documentation instead will allow you to smoothly upgrade your cluster.

Backing Up the Outdated Cluster

Follow the documentation on backing up your cluster to generate a backup archive. This archive will be used to create your new up-to-date cluster.

Upgrading traefikeectl

The first thing you should do in order to upgrade the version of your TraefikEE cluster is to upgrade the version of your traefikeectl tool: download the latest version of the binary here, make sure that it is executable and add it to your path.

Run traefikeectl version to ensure that you have the right version installed.

Replacing the Outdated Cluster

The current way to upgrade your cluster is to start a new one running in parallel to the first one, and once it is up and reachable, to uninstall the outdated cluster.

In order to start your new cluster, without conflicting with the previous one, you will have to install it with a different cluster name. You will then need to add the --clustername option to every command you run with traefikeectl.

  1. Run the same traefikeectl install command as you did for your previous TraefikEE installation, with a different cluster name and specifying the --archivepath option with the backup archive you previously generated
  2. Wait for your new cluster to have an external IP attributed to its internal load balancer service and make sure that the new cluster is fully operational
  3. Redirect the traffic to your new cluster's external IP. This could be done by updating the external DNS entry to point to the new load balancer service's IP, or by editing your L4 load balancer's configuration, for example
  4. Ensure that your applications are reachable through the new cluster
  5. Run traefikeectl uninstall on the outdated cluster, using the --clustername option

You should now have your new cluster up and running, up to date and without having any dropped traffic to your applications.