-
Notifications
You must be signed in to change notification settings - Fork 806
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
Dynamic Provisioning with Topology Awareness Support #17
Comments
For Kubernetes, You will want to integrate with the topology awareness framework in kubernetes-csi/external-provisioner#141 in Kube-CSI. This will make sure |
@ddebroy thanks for the input. Will take a look at topology awareness framework. |
Researched how to leverage topology awareness for volume provisioning. Since we can safely assume EBS has only one topology key which is zone, the work requires for this feature will be:
Working on implementing this. |
Currently, AWS cloud interface used by EBS CSI controller service is instantiated with the same AZ as where controller service is running. This causes the issue that EBS volume is only created at the AZ where controller service runs.
For example, if there are three nodes, each in us-west-2a, us-west-2b and us-west-2c. And controller service runs in us-west-2b while application is deployed to us-west-2a. During volume creation, the new volume will always be created in us-west-2b which causes application deployment to fail (since EBS volume and instance have to be in the same AZ).
One way to fix this is using node selector to always deploy application in the same AZ as controller. Or use static provision where PV/PVC created statically. However, both approach is non-ideal. They either enforces where controller service can run or invalidates the use case of dynamic provisioning.
The text was updated successfully, but these errors were encountered: