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

disable rbd plugin on one node #13933

Closed
manju-rn opened this issue Mar 14, 2024 · 5 comments
Closed

disable rbd plugin on one node #13933

manju-rn opened this issue Mar 14, 2024 · 5 comments
Labels

Comments

@manju-rn
Copy link

I have 3 node microk8s cluster - all are LXD based, 2 are VM and 1 is a container - All are Ubuntu 23.10
The 2 VMs work fine and csi-rbdplugin-xxxx works fine
The 1 LXC container has CrashLoopback for rbd pods and the error is:
csi-rbdplugin-vbql8 0/2 CrashLoopBackOff
Error: modprobe args: [rbd]): "modprobe: FATAL: Module rbd not found in directory /lib/modules/6.2.0-39-generic\n"

The LXC container does not have rbd module and i am okay with that since the 2 VM nodes work fine.
How can i disable the running of csi-rbdplugin in the LXC container. Which option I should choose in operator.yaml to allow only running in VM nodes?

@manju-rn manju-rn added the bug label Mar 14, 2024
@Madhu-1
Copy link
Member

Madhu-1 commented Mar 14, 2024

@manju-rn you can use taints/tolerations to customize the rbdplugin

# CSI_PLUGIN_NODE_AFFINITY: "role=storage-node; storage=rook, ceph"
# (Optional) CephCSI plugin tolerations list(applied to both CephFS and RBD plugin).
# Put here list of taints you want to tolerate in YAML format.
# CSI plugins need to be started on all the nodes where the clients need to mount the storage.
# CSI_PLUGIN_TOLERATIONS: |
# - effect: NoSchedule
# key: node-role.kubernetes.io/control-plane
# operator: Exists
# - effect: NoExecute
# key: node-role.kubernetes.io/etcd
# operator: Exists

@manju-rn
Copy link
Author

@manju-rn you can use taints/tolerations to customize the rbdplugin

# CSI_PLUGIN_NODE_AFFINITY: "role=storage-node; storage=rook, ceph"
# (Optional) CephCSI plugin tolerations list(applied to both CephFS and RBD plugin).
# Put here list of taints you want to tolerate in YAML format.
# CSI plugins need to be started on all the nodes where the clients need to mount the storage.
# CSI_PLUGIN_TOLERATIONS: |
# - effect: NoSchedule
# key: node-role.kubernetes.io/control-plane
# operator: Exists
# - effect: NoExecute
# key: node-role.kubernetes.io/etcd
# operator: Exists

Thanks. help me understand, this will stop even the FS and Objectorage plugin also? I want only the RBD plugin to stop, since Objectstorage works on LXC container

@Madhu-1
Copy link
Member

Madhu-1 commented Mar 14, 2024

in that case you can use

# CSI plugins need to be started on all the nodes where the clients need to mount the storage.
# CSI_RBD_PLUGIN_TOLERATIONS: |
# - key: node.rook.io/rbd
# operator: Exists
its specific to RBD plugin.

@manju-rn
Copy link
Author

Thanks. So just for my understanding
This is for both CephFS and RBD plugin

Lines 204 to 214 in c409a6a

This is for only RBD Plugin

Lines 228 to 231 in c409a6a

And this is for FS

# CSI_CEPHFS_PLUGIN_NODE_AFFINITY: |

and so on.

@Madhu-1
Copy link
Member

Madhu-1 commented Mar 14, 2024

Yes correct, Closing this one, Feel free to reopen if it didn't work

@Madhu-1 Madhu-1 closed this as completed Mar 14, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants