While we generally recommend that users should leverage the connection interface to configure and abstract requesting and mounting volumes for the artifacts store or for datasets. It is sometimes much easier to mount a volume manually if the volume will be used temporarily or for testing purposes.
Polyaxon exposes the
volumes section on all runtime kinds and the full container specification to mount the volumes defined in containers.
In this section, we will demonstrate how to mount a volume manually in a job, but the same steps can be followed to mount volumes in services or distributed jobs.
kind: component ... run: kind: job volumes: - name: volume1 persistentVolumeClaim: claimName: pvc1 - name: volume2 hostPath: path: /path/to/use container: volumeMounts: - name: volume1 mountPath: /mnt1/vol1/path - name: volume2 mountPath: /mnt2/vol2/path
If you find yourself defining the same volumes in all operations, or if you have non-Kubernetes experts using Polyaxon, we suggest that you define those volumes as connections, by doing so, users of the cluster will just request those volumes using a single line:
kind: component ... run: kind: job connections: [volume1, volume2]
Polyaxon will take care of the mechanics of converting those connections to volumes and mounts.