-
Notifications
You must be signed in to change notification settings - Fork 1.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Investigate the use of uncached and cached clients in KubeadmControlplane #3764
Comments
/milestone v0.4.0 |
@vincepri: Please ensure the request meets the requirements listed here. If this request no longer meets these requirements, the label can be removed In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
/area control-plane |
Issues go stale after 90d of inactivity. If this issue is safe to close now please do so with Send feedback to sig-contributor-experience at kubernetes/community. |
/kind design |
/milestone v0.4.x |
Stale issues rot after 30d of inactivity. If this issue is safe to close now please do so with Send feedback to sig-contributor-experience at kubernetes/community. |
Rotten issues close after 30d of inactivity. Send feedback to sig-contributor-experience at kubernetes/community. |
@fejta-bot: Closing this issue. In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
This issue is to investigate possible problems that may happen due to the usage of cached client in KubeadmControlplane. In a CPU restricted management cluster cache may become out-of-date. Since KCP is a critical part in the sense that control plane health relies on its correctness, although cached calls are cheaper, we may want to switch back to using uncached clients and read from api server directly.
Couple of places we may want to use uncached client where we get Machines is reconcileHealth and reconcileDelete:
cluster-api/controlplane/kubeadm/internal/cluster.go
Line 203 in a82cfd9
cluster-api/controlplane/kubeadm/controllers/controller.go
Line 382 in a82cfd9
Another option would be to use the same Machine list we get at the beginning of the reconcile and do not make get Machines call anywhere else in KCP to avoid any inconsistency in the list we use to decide scale up/down.
Related PR: #3759
The text was updated successfully, but these errors were encountered: