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.
- Run the same
traefikeectl installcommand as you did for your previous TraefikEE installation, with a different cluster name and specifying the--archivepathoption 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.dashboardand--swarm.ctlapioptions, otherwise the new cluster will conflict with the previous one. - Wait for the new cluster to be fully operational
- Redirect the traffic to the newly allocated HTTP and HTTPS ports of your cluster (by default,
80and443respectively). This might be done by modifying your L4 load balancer for example - Verify that your applications are reachable through the new cluster
- Run
traefikeectl uninstallon the outdated cluster, using the--clusternameoption
You should now have your new cluster up and running, up to date and without having any dropped traffic to your applications.