How to access external SMB network shares from KNIME Business Hub?
Hello everyone,
I am using KNIME Business Hub 1.18.3 with KNIME Analytics Platform 5.8.3, and I need to access files stored on a Windows network share from workflows executed in KNIME.
The current setup is the following:
Data files and some Python dependencies are stored on a Windows SMB network share.
In a local KNIME installation on Windows, the network share is directly accessible because it is mounted by the operating system.
In KNIME Business Hub, workflows run inside Kubernetes, so the same approach cannot be used. When trying to access the files, I receive the error: "Direct access to the local filesystem is not allowed"
I am evaluating two possible approaches:
Access the SMB share directly from Python using an SMB client library.
Expose the SMB share to Kubernetes and mount it into the KNIME Execution Environment using Kubernetes storage mechanisms (for example SMB CSI driver, PersistentVolume/PersistentVolumeClaim).
My questions are:
What is the recommended best practice for this scenario in KNIME Business Hub?
Should external network shares be integrated at Kubernetes level and mounted into the Execution Environment?
Are there any drawbacks, limitations, or recommended alternatives when mounting an SMB share into KNIME Execution Environments?
Are there KNIME-specific recommendations for handling shared folders and external dependencies in Python-based workflows?
I would like to implement the solution in the most stable and maintainable way for a production environment.
Thank you very much in advance for your help and for sharing your experience.