Swarm

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

Do not attempt upgrading using docker service update

Do not try to upgrade your TraefikEE cluster manually by using docker service update. 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 it's 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. Also, don't forget to specify different ports than the defaults, using the --swarm.http, --swarm.https, --swarm.dashboard and --swarm.ctlapi options, otherwise the new cluster will conflict with the previous one.
  2. Wait for the new cluster to be fully operational
  3. Redirect the traffic to the newly allocated HTTP and HTTPS ports of your cluster (by default, 80 and 443 respectively). This might be done by modifying your L4 load balancer for example
  4. Verify 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.