You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
> Run a Jupyter notebook using a default image and notebook configuration.
98
-
99
94
### Job Lifecycle
100
95
101
96
#### --completions < int >
102
97
103
98
> Number of successful pods required for this job to be completed. Used with HPO.
104
-
99
+
105
100
#### --parallelism < int >
101
+
>
106
102
> Number of pods to run in parallel at any given time. Used with HPO.
107
-
103
+
108
104
#### --preemptible
105
+
>
109
106
> Interactive preemptible jobs can be scheduled above guaranteed quota but may be reclaimed at any time.
110
107
111
108
<!-- Start of common content from snippets/common-submit-cli-commands.md -->
112
109
### Naming and Shortcuts
113
110
114
111
#### --job-name-prefix `<string>`
112
+
>
115
113
> The prefix to use to automatically generate a Job name with an incremental index. When a Job name is omitted Run:ai will generate a Job name. The optional `--job-name-prefix flag` creates Job names with the provided prefix.
> Default is false. If set to true, wait for the Pod to start running. When the pod starts running, attach to the Pod. The flag is equivalent to the command [runai attach](runai-attach.md).
135
+
> Default is false. If set to true, wait for the Pod to start running. When the pod starts running, attach to the Pod. The flag is equivalent to the command [runai attach](runai-attach.md).
136
136
>
137
137
> The --attach flag also sets `--tty` and `--stdin` to true.
138
138
139
139
#### --command
140
140
141
-
> Overrides the image's entry point with the command supplied after '--'. When **not** using the `--command` flag, the entry point will **not** be overrided and the string after `--` will be appended as arguments to the entry point command.
141
+
> Overrides the image's entry point with the command supplied after '--'. When **not** using the `--command` flag, the entry point will **not** be overrided and the string after `--` will be appended as arguments to the entry point command.
> Create a temporary home directory for the user in the container. Data saved in this directory will not be saved when the container exits. For more information see [non root containers](../../admin/runai-setup/config/non-root-containers.md).
> Define environment variables to be set in the container. To set multiple values add the flag multiple times (`-e BATCH_SIZE=50 -e LEARNING_RATE=0.2`).
155
+
> Define environment variables to be set in the container. To set multiple values add the flag multiple times (`-e BATCH_SIZE=50 -e LEARNING_RATE=0.2`).
156
156
<!-- or separate by a comma (`-e BATCH_SIZE:50,LEARNING_RATE:0.2`). -->
157
157
158
158
#### --image `<string>` | -i `<string>`
159
159
160
-
> Image to use when creating the container for this Job
160
+
> Image to use when creating the container for this Job
161
161
162
162
#### --image-pull-policy `<string>`
163
163
164
-
> Pulling policy of the image when starting a container. Options are:
164
+
> Pulling policy of the image when starting a container. Options are:
165
165
>
166
-
> -`Always` (default): force image pulling to check whether local image already exists. If the image already exists locally and has the same digest, then the image will not be downloaded.
167
-
> -`IfNotPresent`: the image is pulled only if it is not already present locally.
168
-
> -`Never`: the image is assumed to exist locally. No attempt is made to pull the image.
166
+
> *`Always` (default): force image pulling to check whether local image already exists. If the image already exists locally and has the same digest, then the image will not be downloaded.
167
+
> *`IfNotPresent`: the image is pulled only if it is not already present locally.
168
+
> *`Never`: the image is assumed to exist locally. No attempt is made to pull the image.
169
169
>
170
170
> For more information see Kubernetes [documentation](https://kubernetes.io/docs/concepts/configuration/overview/#container-images){target=_blank}.
> Limitations on the number of CPUs consumed by the Job (for example 0.5, 1). The system guarantees that this Job will not be able to consume more than this amount of CPUs.
> CPU memory to allocate for this Job (1G, 20M, .etc). The Job will receive **at least** this amount of memory. Note that the Job will **not** be scheduled unless the system can guarantee this amount of memory to the Job.
220
+
> CPU memory to allocate for this Job (1G, 20M, .etc). The Job will receive **at least** this amount of memory. Note that the Job will **not** be scheduled unless the system can guarantee this amount of memory to the Job.
221
221
222
-
#### --memory-limit `<string>
222
+
#### --memory-limit `<string>`
223
223
224
-
> CPU memory to allocate for this Job (1G, 20M, .etc). The system guarantees that this Job will not be able to consume more than this amount of memory. The Job will receive an error when trying to allocate more memory than this limit.
224
+
> CPU memory to allocate for this Job (1G, 20M, .etc). The system guarantees that this Job will not be able to consume more than this amount of memory. The Job will receive an error when trying to allocate more memory than this limit.
> The number of times the Job will be retried before failing. The default is 6. This flag will only work with training workloads (when the `--interactive` flag is not specified).
> The 2 syntax types of this command are mutually exclusive. You can either use the first or second form, but not a mixture of both.
266
266
>
267
-
> **Storage_Class_Name** is a storage class name that can be obtained by running `kubectl get storageclasses.storage.k8s.io`. This parameter may be omitted if there is a single storage class in the system, or you are using the default storage class.
267
+
> **Storage_Class_Name** is a storage class name that can be obtained by running `kubectl get storageclasses.storage.k8s.io`. This parameter may be omitted if there is a single storage class in the system, or you are using the default storage class.
268
268
>
269
269
> **Size** is the volume size you want to allocate. See [Kubernetes documentation](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/){target=_blank} for how to specify volume sizes
270
270
>
271
271
> **Container_Mount_Path**. A path internal to the container where the storage will be mounted
272
272
>
273
273
> **Pvc_Name**. The name of a pre-existing [Persistent Volume Claim](https://kubernetes.io/docs/concepts/storage/persistent-volumes/#dynamic){target=_blank} to mount into the container
274
-
>
274
+
>
275
275
> Examples:
276
276
>
277
-
> > `--pvc :3Gi:/tmp/john:ro` - Allocate `3GB` from the default Storage class. Mount it to `/tmp/john` as read-only
277
+
> > `--pvc :3Gi:/tmp/john:ro` - Allocate `3GB` from the default Storage class. Mount it to `/tmp/john` as read-only
278
278
>
279
-
> > `--pvc my-storage:3Gi:/tmp/john:ro` - Allocate `3GB` from the `my-storage` storage class. Mount it to /tmp/john as read-only
279
+
> > `--pvc my-storage:3Gi:/tmp/john:ro` - Allocate `3GB` from the `my-storage` storage class. Mount it to /tmp/john as read-only
280
280
>
281
-
> > `--pvc :3Gi:/tmp/john` - Allocate `3GB` from the default storage class. Mount it to `/tmp/john` as read-write
281
+
> > `--pvc :3Gi:/tmp/john` - Allocate `3GB` from the default storage class. Mount it to `/tmp/john` as read-write
282
282
>
283
-
> > `--pvc my-pvc:/tmp/john` - Use a Persistent Volume Claim named `my-pvc`. Mount it to `/tmp/john` as read-write
283
+
> > `--pvc my-pvc:/tmp/john` - Use a Persistent Volume Claim named `my-pvc`. Mount it to `/tmp/john` as read-write
284
284
>
285
285
> > `--pvc my-pvc-2:/tmp/john:ro` - Use a Persistent Volume Claim named `my-pvc-2`. Mount it to `/tmp/john` as read-only
286
286
287
287
#### --pvc-exists `<string>`
288
288
289
289
> Mount a persistent volume. You must include a `claimname` and `path`.
290
290
>
291
-
> -**claim name**—The name of the persistent colume claim. Can be obtained by running
291
+
> ***claim name**—The name of the persistent colume claim. Can be obtained by running
292
292
>
293
293
> `kubectl get storageclasses.storage.k8s.io`
294
294
>
295
-
> -**path**—the path internal to the container where the storage will be mounted
295
+
> ***path**—the path internal to the container where the storage will be mounted
> Mount a persistent volume claim (PVC). If the PVC does not exist, it will be created based on the parameters entered. If a PVC exists, it will be used with its defined attributes and the parameters in the command will be ignored.
304
304
>
305
-
> -**claim name**—The name of the persistent colume claim.
306
-
> -**storage class**—A storage class name that can be obtained by running
305
+
> ***claim name**—The name of the persistent colume claim.
306
+
> ***storage class**—A storage class name that can be obtained by running
307
307
>
308
308
> > `kubectl get storageclasses.storage.k8s.io.`
309
309
>
310
310
> > `storageclass` may be omitted if there is a single storage class in the system, or you are using the default storage class.
311
311
>
312
-
> -**size**—The volume size you want to allocate for the PVC when creating it. See [Kubernetes documentation](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/){target=_blank} to specify volume sizes.
313
-
> -**accessmode**—The description of thr desired volume capabilities for the PVC.
314
-
> -**ro**—Mount the PVC with read-only access.
315
-
> -**ephemeral**—The PVC will be created as volatile temporary storage which is only present during the running lifetime of the job.
312
+
> ***size**—The volume size you want to allocate for the PVC when creating it. See [Kubernetes documentation](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/){target=_blank} to specify volume sizes.
313
+
> ***accessmode**—The description of thr desired volume capabilities for the PVC.
314
+
> ***ro**—Mount the PVC with read-only access.
315
+
> ***ephemeral**—The PVC will be created as volatile temporary storage which is only present during the running lifetime of the job.
> Mount /root/data to local path /raid/public/john/data for read-only access.
340
340
>
341
-
> `-v /public/data:/root/data::nfs.example.com`
342
-
>
341
+
> `-v /public/data:/root/data::nfs.example.com`
342
+
>
343
343
> Mount /root/data to NFS path /public/data on NFS server nfs.example.com for read-write access.
344
344
345
345
### Network
346
346
347
+
<!--
347
348
#### --address `<string>`
348
349
349
350
> Comma separated list of IP addresses to listen to when running with --service-type portforward (default: localhost)
351
+
-->
350
352
351
353
#### --host-ipc
352
354
353
-
> Use the host's _ipc_ namespace. Controls whether the pod containers can share the host IPC namespace. IPC (POSIX/SysV IPC) namespace provides separation of named shared memory segments, semaphores, and message queues.
355
+
> Use the host's *ipc* namespace. Controls whether the pod containers can share the host IPC namespace. IPC (POSIX/SysV IPC) namespace provides separation of named shared memory segments, semaphores, and message queues.
354
356
> Shared memory segments are used to accelerate inter-process communication at memory speed, rather than through pipes or the network stack.
355
-
>
357
+
>
356
358
> For further information see [docker run reference](https://docs.docker.com/engine/reference/run/) documentation.
357
359
358
360
#### --host-network
359
361
360
362
> Use the host's network stack inside the container.
361
363
> For further information see [docker run reference](https://docs.docker.com/engine/reference/run/)documentation.
362
364
363
-
#### --port `<stringArray>`
364
-
365
-
> Expose ports from the Job container.
366
-
367
365
#### -s | --service-type `<string>`
368
366
369
-
> External access type to interactive jobs. Options are:
367
+
> External access type to jobs. Options are:
368
+
>
369
+
> *`nodeport` - add one or more ports using `--port`.
370
+
> *`external-url` - add one port and an optional custom URL using `--custom-url`.
> This flag supports more than one `service-type`. Multiple service types are supported in CSV style using multiple instances of the same option and commas to separate the values for them.
> Expose ports from the Job container. You can use a port number (for example 9090) or use the numbers of `hostport:containerport` (for example, 30000:7070).
375
390
376
391
#### --custom-url `<string>`
377
392
378
-
> An optional argument that specifies a custom URL when using the `external URL` service type. If not provided, the system will generate a URL automatically.
393
+
> An optional argument that specifies a custom URL when using the `external-url` service type. If not provided, the system will generate a URL automatically.
> Run in the context of the current user running the Run:ai command rather than the root user. While the default container user is *root* (same as in Docker), this command allows you to submit a Job running under your Linux user. This would manifest itself in access to operating system resources, in the owner of new folders created under shared directories, etc. Alternatively, if your cluster is connected to Run:ai via SAML, you can map the container to use the Linux UID/GID which is stored in the organization's directory. For more information see [non root containers](../../admin/runai-setup/config/non-root-containers.md).
403
+
> Run in the context of the current user running the Run:ai command rather than the root user. While the default container user is *root* (same as in Docker), this command allows you to submit a Job running under your Linux user. This would manifest itself in access to operating system resources, in the owner of new folders created under shared directories, etc. Alternatively, if your cluster is connected to Run:ai via SAML, you can map the container to use the Linux UID/GID which is stored in the organization's directory. For more information see [non root containers](../../admin/runai-setup/config/non-root-containers.md).
> Allows defining specific Nodes (machines) or a group of Nodes on which the workload will run. To use this feature your Administrator will need to label nodes as explained here: [Limit a Workload to a Specific Node Group](../../admin/researcher-setup/limit-to-node-group.md).
414
+
> Allows defining specific Nodes (machines) or a group of Nodes on which the workload will run. To use this feature your Administrator will need to label nodes as explained here: [Limit a Workload to a Specific Node Group](../../admin/researcher-setup/limit-to-node-group.md).
400
415
401
416
#### --toleration `<string>`
402
417
403
-
> Specify one or more toleration criteria, to ensure that the workload is not scheduled onto an inappropriate node.
418
+
> Specify one or more toleration criteria, to ensure that the workload is not scheduled onto an inappropriate node.
404
419
> This is done by matching the workload tolerations to the taints defined for each node. For further details see Kubernetes
405
420
> [Taints and Tolerations](https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/){target=_blank} Guide.
406
421
>
@@ -433,6 +448,5 @@ Note that the submit call may use a *policy* to provide defaults to any of the a
433
448
434
449
## See Also
435
450
436
-
* See any of the Quickstart documents [here:](../Walkthroughs/quickstart-overview.md).
437
-
* See [policy configuration](../../admin/workloads/policies.md) for a description on how policies work.
438
-
451
+
* See any of the Quickstart documents [here:](../Walkthroughs/quickstart-overview.md).
452
+
* See [policy configuration](../../admin/workloads/policies.md) for a description on how policies work.
0 commit comments