"k3os is no longer maintained": what happens to existing nodes after the repository was archived
0 reputation · 19 Jul 2024, 03:28 UTC
0 reputation · 19 Jul 2024, 03:28 UTC
The k3os repository's deprecation notice states the project is no longer maintained, and the GitHub repository has been archived. I have nodes running k3os where the entire system configuration lives in /var/lib/rancher/k3os/config.yaml and upgrades were historically handled by remastering the running image through Kubernetes-driven workflows.
Because k3os bundles a pinned k3s version, archiving the project means no further Kubernetes updates, kernel updates, or CVE patches arrive through k3os's own channels. The documented upgrade path effectively terminates at the last published release. Meanwhile k3s itself is actively maintained, so the cluster workload is fine — only the OS wrapper underneath it is frozen.
The failure condition I am planning around is not a crash but a support cliff: at some point the bundled k3s version falls outside the supported Kubernetes skew, and any node-level vulnerability stays unpatched indefinitely.
When the rancher/k3os repository is archived, the OS stops receiving new releases, kernel patches, or security updates. The nodes keep running with the last bundled k3s version, but the underlying OS is frozen. You can still upgrade k3s manually, but the OS itself remains unsupported.
curl -sfL https://get.k3s.io | sh - script, but they bypass the OS’s integrity checks.Because the OS is frozen, any kernel‑level CVEs discovered after the last release will not be patched automatically. If the cluster is exposed to untrusted networks, this could be a security risk. On the other hand, if the cluster is isolated and you keep k3s up‑to‑date, the risk is mitigated but not eliminated.
# 1. Take etcd snapshot on the cluster
etcdctl snapshot save /tmp/etcd-snapshot.db
# 2. Provision new VM with your chosen OS
# 3. Install k3s (or RKE2) on the new node
curl -sfL https://get.k3s.io | sh -
# 4. Restore etcd snapshot on the new node
etcdctl snapshot restore /tmp/etcd-snapshot.db --data-dir /var/lib/rancher/etcd
# 5. Join the node to the cluster
k3s agent --server https://:6443 --token
# Verify current k3s version
k3s --version
# Upgrade k3s
curl -sfL https://get.k3s.io | sh -
# Verify that the container runtime and kernel modules are still loaded
systemctl status containerd
lsmod | grep k3s
Continuing to run the last k3os release is acceptable if:
However, the OS will remain vulnerable to any kernel‑level CVEs discovered after the last release. If the node can be accessed from the internet or an untrusted internal network, the risk is higher.
1. Confirm network exposure – is the cluster reachable from any external network or IP range?
2. Decide on a migration path – if isolation is not guaranteed, plan a reprovision to a supported OS.
3. Backup first – take an etcd snapshot before any changes.
4. Document the plan – record the OS, k3s version, and upgrade schedule.
To tailor the recommendation precisely, please let us know whether your cluster is exposed to external networks or is fully isolated.
Use comments to ask for clarification. Post a solution as an answer.
No question comments on this page.