Replies: 4 comments 3 replies
-
|
I have never seen containers being restarted on kubelet upgrade, I don't think it's expected. I don't think kubelet can even modify pod spec (vs. status). |
Beta Was this translation helpful? Give feedback.
-
|
Hmm 🤔 I came across "All containers are restarted after upgrade, because the container spec hash value is changed." in https://kubernetes.io/docs/tasks/administer-cluster/kubeadm/kubeadm-upgrade/ and when inspecting our pods they all had an event Thanks for your quick answer, I'll do some more research and try to find where this is coming from or if I can reproduce this consistently. |
Beta Was this translation helpful? Give feedback.
-
|
@dedene I've made the same observations as you, specifically with regard to upgrading from 1.30 to 1.31 (but apparently not from 1.31 to 1.32). I will be testing the |
Beta Was this translation helpful? Give feedback.
-
|
We encountered the dreaded "all containers restart" issue while running The reason was due to The issue was closed as not planned since the Kubernetes documentation clearly states that The
But this is not necessarily true. According to ChatGPT the same hashing change issue has historically happened in Kubernetes versions 1.8 and 1.14 as well. 1.14 was released all the way back when Talos was in alpha stages, so presumably Talos deployments haven't had to deal with a non graceful So while it is quite rare for |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Hi Talos team,
I'm reaching out to find some ideas on the best approach for achieving true zero-downtime Kubernetes upgrades with Talos when doing minor k8s upgrades.
We always experience a short downtime during a Kubernetes upgrade (i.e. from 1.30 to 1.31). Despite having Pod Disruption Budgets configured, all containers across nodes are restarted simultaneously, breaking our high availability. This appears to be normal and caused by the kubelet changing container spec hash values during the upgrade process?
I noticed the
talosctl upgrade-k8scommand has an--upgrade-kubeletflag (default: true) but I did not find much documentation on it. The Talos documentation also describes a manual process for upgrading the kubelet on individual nodes.Would the following approach provide zero-downtime upgrades?
talosctl upgrade-k8s --upgrade-kubelet falseto upgrade the control plane and other componentsAny guidance on this would be greatly appreciated, as maybe I am missing something.
Thanks a lot for your help!
Peter
Beta Was this translation helpful? Give feedback.
All reactions