-
Notifications
You must be signed in to change notification settings - Fork 53
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
DataLocality for initially auto-applying DataCenter mount-option #102
Conversation
Will hold set setting what kind of locality is wanted
Does this need a document change? |
It doesnt change existing stuff, but the new features should of course get proper documentation. I could start and create a first documentation how to use it and how to inject topology-info. |
Yes, please help to document. Maybe just append a section to the main README.md file for now. |
I have restructured the Readme a little bit, added an index as its getting quite long and have added documentation for DataLocality. If you dont like the spaces between sections, feel free to remove them. |
DataLocality (inspired by Longhorn) allows instructing the storage-driver which volume-locations will be used or preferred in Pods to read & write.
It auto-sets mount-options based on the location a pod is scheduled in and the locality-option wanted.
The option can be set and overridden in Deployment, StorageClass and PersistentVolume.
Currently only 2 options exist:
None
changes nothing and is the defaultwrite_preferLocalDc
sets theDataCenter
-mount-option to the current Node-DataCenter, making writes local and reads wherever the data is.Unfortunately Kubernetes doesnt allow grabbing node-labels, which contain well-known region-labels, and setting them as environment-variables.
The DownwardAPI is very limited in that regard. (see #40610)
Therefore i have modified the helm-chart to include a workaround using KubeMod based on this comment.
More explanations in
deploy/helm/seaweed-csi-driver/values.yml
in the keynode.injectTopologyInfoFromNodeLabel
If this isnt wanted, feel free to remove it.