Kubernetes version upgrade renewed leader control plane kubelet server certificate but not others
What happened?
A user experienced the following situation:
- they ran
kubeone applyto upgrade to Kubernetes 1.24.9 in January this year - apparently, kubelet server certificates for the leader control plane node got rotated at that point in time, so
kubeoneproperly approved a pending CSR for a serving certificate - it seems that the follower control plane nodes were also upgraded, but did not rotate their kubelet server certificate (it's not entirely clear why, because this was only noticed two months later)
- the user got an alert saying that kubelet server certificates will expire soon and realised they weren't rotated for the follower nodes
Now I suspect this could have been solved with kubeone apply --force-upgrade, but I did not want to try that theory out on a production environment.
Expected behavior
kubeone should rotate all kubelet server certificates on a version upgrade.
How to reproduce the issue?
Not clear yet. I'm not sure if I can create certificates with a shorter TTL to reproduce this in a setup.
What KubeOne version are you using?
KubeOne 1.5.6
Provide your KubeOneCluster manifest here (if applicable)
# paste manifest here
What cloud provider are you running on?
N/A
What operating system are you running in your cluster?
N/A
Additional information
This can be manually fixed by restarting kubelets and approving most recent CSRs via kubectl approve.
@embik Do you have some idea if this is some cloud provider or baremetal?
@xmudrii Cloud provider is OpenStack
Issues go stale after 90d of inactivity.
After a furter 30 days, they will turn rotten.
Mark the issue as fresh with /remove-lifecycle stale.
If this issue is safe to close now please do so with /close.
/lifecycle stale
/remove-lifecycle stale
Issues go stale after 90d of inactivity.
After a furter 30 days, they will turn rotten.
Mark the issue as fresh with /remove-lifecycle stale.
If this issue is safe to close now please do so with /close.
/lifecycle stale
/remove-lifecycle stale
Issues go stale after 90d of inactivity.
After a furter 30 days, they will turn rotten.
Mark the issue as fresh with /remove-lifecycle stale.
If this issue is safe to close now please do so with /close.
/lifecycle stale
/remove-lifecycle stale
@kron4eg Can you write down steps how to come up with a setup where we can renew certificates? We can drop the refinement-needed label