zgzzbws opened a new pull request, #58730:
URL: https://github.com/apache/spark/pull/58730

   ### What changes were proposed in this pull request?
   This PR adds support for mounting volumes using CSI drivers.
   This reopens #52896, which had gone stale.
   
   ### Why are the changes needed?
   As noted in this [issue](https://issues.apache.org/jira/browse/SPARK-47010), 
the Kubernetes cluster operates in a multi-tenant environment and cluster-wide 
changes cannot be made when deploying applications. Besides, the application 
requires a static shared file system, but solutions like hostPath are 
unavailable due to lack of control over the underlying VMs, and 
PersistentVolumeClaim (PVC) is unsuitable because provisioning a 
PersistentVolume (PV) requires cluster-wide changes. Additionally, security 
policies preclude the use of NFS. Therefore, a CSI solution is necessary.
   
   Additionally, by adding [CSI 
driver](https://kubernetes-csi.github.io/docs/introduction.html) support, Spark 
running on k8s can now dynamically and on-demand leverage diverse storage 
services (such as high-performance SSDs, low-cost HDDs, etc.) provided by the 
underlying infrastructure. This enhances platform independence and simplifies 
operations and maintenance.
   
   ### Does this PR introduce any user-facing change?
   Users can now using CSI driver by adding configs like:
   ```
   spark-submit \
   --conf 
spark.kubernetes.executor.volumes.csiVolumeClaim.[VolumeName].mount.path=/mnt/disk
  \
   --conf 
spark.kubernetes.executor.volumes.csiVolumeClaim.[VolumeName].csiDriverName=file.csi.azure.com
 \
   --conf 
spark.kubernetes.executor.volumes.csiVolumeClaim.[VolumeName].options.shareName=EXISTING_SHARE_NAME
 \
   --conf 
spark.kubernetes.executor.volumes.csiVolumeClaim.[VolumeName].options.secretName=azure-secret
 \
   ...
   ```
   
   ### How was this patch tested?
   add ut test
   
   
   ### Was this patch authored or co-authored using generative AI tooling?
   Yes


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to