Knative does only support persistent volumes of type secret, configMap or projected. Here in the doc is mentioned a workaround to work with other persistent volumes. It's not clear to me what is the suggested way, and not a workaround, to store binaries in a private cloud system, that does not rely on something like S3 or other cloud storages.
Marco.
The suggested way is to expose storage as an external service (SQL database, Redis, S3-compatible object storage like Minio or Ceph, or custom API).
If you're running a recent Knative build, there are feature flags which can enable PersistentVolumeClaims, but these shared filesystems can introduce scaling issues (and data corruption bugs, depending on locking implementation), so are not enabled by default.