Skip to content
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

Charts should specify priorityClassName by default #61

Open
d-uzlov opened this issue Dec 4, 2024 · 0 comments
Open

Charts should specify priorityClassName by default #61

d-uzlov opened this issue Dec 4, 2024 · 0 comments

Comments

@d-uzlov
Copy link

d-uzlov commented Dec 4, 2024

Currently default values set priorityClassName empty both for controller deployment and for node daemonset.
This can lead to issues with preemption, though I haven't encountered them.

This also leads to issues during node shutdown.
K8s supports Graceful Node Shutdown. It first evicts all non-critical pods, then critical pods.
When priorityClassName is empty, controller and node pod of democratic-csi are evicted before other pods are deleted and volume unbind/detach happens.

When node is shutting down, it still holds attachments for all volumes. Pods that use ReadWriteOnce PVCs are unable to restart while node is not available.
Additionally, I found out that node hangs on shutdown if nvme devices are still connected. I feel like there is an issue with nvmet library/module here, but it wouldn't happen if nvme devices were properly unmounted.

Setting controller.priorityClassName=system-cluster-critical and node.priorityClassName=system-node-critical fixes the issue.

I checked out other csi projects: nfs-csi specifies priorityClassName, smb-csi specifies priorityClassName

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant