Volumes
Argo Workflows allows you to mount volumes from many different sources. Hera provides wrappper classes for all of the first-party Kubernetes volumes (such as Volume and EmptyDirVolume), as well as third-party volumes (such as CinderVolume).
The hera.workflows.volume module provides all Argo volume types that can be used via Hera.
Volume
Volume represents a basic, dynamic, volume representation.
This Volume cannot only be instantiated to be used for mounting purposes but also for dynamically privisioning
volumes in K8s. When the volume is used a corresponding persistent volume claim is also created on workflow
submission.
Source code in src/hera/workflows/volume.py
583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 | |
AccessMode
A representations of the volume access modes for Kubernetes.
Notes
See: access modes docs for more information.
Source code in src/hera/workflows/volume.py
read_write_many
The volume can be mounted as read-write by many nodes
read_write_once
The volume can be mounted as read-write by a single node. ReadWriteOnce access mode still can allow multiple pods to access the volume when the pods are running on the same node
read_write_once_pod
The volume can be mounted as read-write by a single Pod. Use ReadWriteOncePod access mode if you want to ensure that only one pod across whole cluster can read that PVC or write to it. This is only supported for CSI volumes and Kubernetes version 1.22+.