k3s-upgrade is a container image that performs in-place upgrades of k3s clusters through the System Upgrade Controller.
The tool solves the problem of upgrading k3s versions in a controlled, automated manner. It works by replacing the k3s binary with a new version and then terminating the old k3s process, allowing the supervisor to restart the service with the updated binary. This approach integrates with the System Upgrade Controller, which orchestrates the upgrade process across nodes in the cluster.
Adoption requires k3s to have been installed using the official install script via curl. The workflow involves deploying the System Upgrade Controller to the cluster, labeling the nodes intended for upgrade, and then creating an upgrade plan that the controller watches and executes. This suits teams running k3s who want automated, coordinated upgrades across multiple nodes rather than manual per-node updates. The tool is purpose-built for k3s and depends on the System Upgrade Controller framework for orchestration and scheduling.
Development activity is minimal, with the codebase consisting primarily of shell scripting for the upgrade mechanics.