runai training submit

submit a standard training workload

runai training submit [flags]

Examples

# Submit a workload
runai training standard submit <name> -p <project_name> -i runai.jfrog.io/demo/quickstart-demo

# Submit a workload with arguments
runai training standard submit <name> -p <project_name> -i ubuntu -- ls -la

# Submit a workload with a custom command
runai training standard submit <name> -p <project_name> -i ubuntu --command -- echo "Hello, World"

# Submit a workload with a field reference 
runai training standard submit <name> -p <project_name> -i ubuntu --env-pod-field-ref "PROJECT=metadata.labels['project']"

# Submit the workload jupyter notebook
runai training standard submit <name> -p <project_name> -i jupyter/scipy-notebook --gpu-devices-request 1 --external-url container=8888 --name-prefix jupyter --command -- start-notebook.sh --NotebookApp.base_url='/${RUNAI_PROJECT}/${RUNAI_JOB_NAME}' --NotebookApp.token='

Options

      --allow-privilege-escalation                     Allow the container to gain additional privileges after starting.
      --annotation stringArray                         Set of annotations to populate into the container running the workload
      --attach                                         Wait for the pod to start running, then attach to it as if 'runai attach' was called. Implies --tty and --stdin.
      --auto-deletion-time-after-completion duration   Automatically delete a completed job after a specified duration (e.g. 5s, 2m, 3h). (default 0s)
      --backoff-limit int32                            Number of times to retry a failed job before marking it as failed.
      --capability stringArray                         Add POSIX capabilities to the container. Defaults to the runtime's default set.
  -c, --command                                        If true, override the image's entrypoint with the command supplied after '--'
      --configmap-map-volume stringArray               Mount a ConfigMap as a volume. Format: name=CONFIGMAP_NAME,path=PATH,subpath=SUBPATH.
      --cpu-core-limit positiveFloat                   Maximum number of CPU cores allowed (e.g. 0.5, 1).
      --cpu-core-request positiveFloat                 Number of CPU cores to request (e.g. 0.5, 1).
      --cpu-memory-limit string                        Maximum memory allowed (e.g. 1G, 500M).
      --cpu-memory-request string                      Amount of memory to request (e.g. 1G, 500M).
      --create-home-dir                                Create a temporary home directory for the container. Defaults to true when --run-as-user is set, false otherwise.
      --env-pod-field-ref stringArray                  Set an environment variable from a pod field reference. Format: ENV_VARIABLE=FIELD_REFERENCE.
  -e, --environment stringArray                        Set environment variables in the container. Format: --environment name=value -environment name-b=value-b.
      --exclude-node stringArray                       Nodes that will be excluded from use by the scheduler. Format: --exclude-node node-a --exclude-node node-b
      --existing-pvc stringArray                       Mount an existing PersistentVolumeClaim. Format: claimname=CLAIM_NAME,path=PATH. Auto-complete supported.
      --extended-resource stringArray                  Request access to a Kubernetes extended resource. Format: resource_name=quantity.
      --external-url stringArray                       Expose a URL from the workload container. Format: container=PORT,url=https://external.runai.com,authusers=user1,authgroups=group1.
      --git-sync stringArray                           Mount a Git repository into the container. Format: name=NAME,repository=REPO,path=PATH,secret=SECRET,rev=REVISION.
  -g, --gpu-devices-request positiveInt                Number of GPU devices to allocate for the workload (e.g. 1, 2).
      --gpu-memory-limit string                        Maximum GPU memory to allocate (e.g. 1G, 500M).
      --gpu-memory-request string                      Amount of GPU memory to allocate (e.g. 1G, 500M).
      --gpu-portion-limit positiveFloat                Maximum GPU fraction allowed for the workload (between 0 and 1).
      --gpu-portion-request positiveFloat              Fraction of a GPU to allocate (between 0 and 1, e.g. 0.5).
      --gpu-request-type string                        Type of GPU request: portion, memory
  -h, --help                                           help for submit
      --host-ipc                                       Enable host IPC for the container. Default: false.
      --host-network                                   Enable host networking for the container. Default: false.
      --host-path stringArray                          Mount a host path as a volume. Format: path=PATH,mount=MOUNT,mount-propagation=None|HostToContainer,readwrite.
  -i, --image string                                   The container image to use for the workload.
      --image-pull-policy string                       Image pull policy for the container. Valid values: Always, IfNotPresent, Never.
      --label stringArray                              Set of labels to populate into the container running the workspace
      --large-shm                                      Request a large /dev/shm device to mount in the container. Useful for memory-intensive workloads.
      --name-prefix string                             Set defined prefix for the workload name and add index as a suffix
      --new-pvc stringArray                            Create and mount a new PersistentVolumeClaim. Format: claimname=CLAIM_NAME,storageclass=STORAGE_CLASS,size=SIZE,path=PATH,accessmode-rwo,accessmode-rom,accessmode-rwm,ro,ephemeral.
      --nfs stringArray                                Mount an NFS volume. Format: path=PATH,server=SERVER,mountpath=MOUNT_PATH,readwrite.
      --node-pools stringArray                         Node pools to use for scheduling the job, ordered by priority. Format: --node-pools pool-a --node-pools pool-b
      --node-type string                               Enforce node type affinity by setting a node-type label.
      --parallelism int32                              Maximum number of pods to run in parallel for this job.
      --pod-running-timeout duration                   Timeout for pod to reach running state (e.g. 5s, 2m, 3h).
      --port stringArray                               Expose ports from the workload container. Format: service-type=NodePort,container=80,external=8080.
      --preferred-pod-topology-key string              If possible, schedule all pods of this workload on nodes with a matching label key and value. Format: key=VALUE.
      --priority string                                Set the priority class for the workload.
  -p, --project string                                 Specify the project for the command to use. Defaults to the project set in the context, if any. Use 'runai project set <project>' to set the default.
      --required-pod-topology-key string               Require scheduling pods of this workload on nodes with a matching label key and value. Format: key=VALUE.
      --restart-policy restart-policy                  Restart policy for worker pods. Valid values: Always, OnFailure, Never.
      --run-as-gid int                                 Group ID to run the container as.
      --run-as-uid int                                 User ID to run the container as.
      --run-as-user                                    Set the user and group IDs for the container. Uses local terminal credentials if not specified.
      --runs int32                                     Number of successful runs required for this workload to be considered completed.
      --s3 stringArray                                 Mount an S3 bucket as a volume. Format: name=NAME,bucket=BUCKET,path=PATH,accesskey=ACCESS_KEY,url=URL.
      --seccomp-profile string                         Seccomp profile for the container. Valid values: RuntimeDefault, Unconfined, or Localhost.
      --secret-volume stringArray                      Mount a Kubernetes Secret as a volume. Format: path=PATH,name=SECRET_RESOURCE_NAME.
      --stdin                                          Keep stdin open on the container(s) in the pod, even if nothing is attached.
      --supplemental-groups ints                       Comma-separated list of group IDs for the container user.
      --termination-grace-period duration              The length of time (like 5s or 2m, higher than zero) the workload's pod is expected to terminate gracefully upon probe failure. In case value is not specified, kubernetes default of 30 seconds applies (default 0s)
      --toleration stringArray                         Add Kubernetes tolerations. Format: operator=Equal|Exists,key=KEY,[value=VALUE],[effect=NoSchedule|NoExecute|PreferNoSchedule],[seconds=SECONDS].
  -t, --tty                                            Allocate a TTY for the container. Useful for interactive workloads.
      --user-group-source string                       How to determine user/group IDs. Valid values: fromTheImage, fromIdpToken.
      --wait-for-submit duration                       How long to wait for the workload to be created in the cluster. Default: 1m.
      --working-dir string                             Working directory inside the container. Overrides the default working directory set in the image.

Options inherited from parent commands

      --config-file string   config file name; can be set by environment variable RUNAI_CLI_CONFIG_FILE (default "config.json")
      --config-path string   config path; can be set by environment variable RUNAI_CLI_CONFIG_PATH
  -d, --debug                enable debug mode
  -q, --quiet                enable quiet mode, suppress all output except error messages
      --verbose              enable verbose mode

SEE ALSO

Last updated