Skip to main content

nextflow kuberun

Launch a Nextflow pipeline on a Kubernetes cluster.

Usage​

$ nextflow kuberun [options] [project]

Description​

warning

The kuberun command is an obsolete approach for running Nextflow pipelines on Kubernetes and is no longer maintained. See Kubernetes for alternatives.

The kuberun command extends the run command with a Kubernetes integration. It deploys the Nextflow runtime as a Kubernetes pod and requires the kubectl CLI. The pod runs the specified pipeline and submits each task as a Kubernetes job (or pod). The pod prints the pipeline console output in the foreground.

The pipeline must be an existing Nextflow project or the absolute path of a pipeline already deployed in the Kubernetes cluster. The kuberun command cannot run local Nextflow scripts. It is intended only for testing the deployment of pipelines to a Kubernetes cluster.

Use the -v option to specify the persistent volume claim and mount path to use for the pipeline execution. You can also specify volume claims in the Nextflow configuration. See k8s for details.

Options​

The kuberun command supports the following options from run:

  • -cache
  • -disable-jobs-cancellation
  • -dump-channels
  • -dump-hashes
  • -e.<key>=<value>
  • -entry
  • -h, -help
  • -hub
  • -latest
  • -main-script
  • -name
  • -offline
  • -params-file
  • -plugins
  • -preview
  • -profile
  • -qs, -queue-size
  • -resume
  • -r, -revision
  • -stub, -stub-run
  • -user
  • -with-conda
  • -with-dag
  • -N, -with-notification
  • -with-report
  • -with-spack
  • -with-timeline
  • -with-tower
  • -with-trace
  • -with-wave
  • -w, -work-dir

The following new options are also available:

-head-cpus​

Number of CPUs requested for the Nextflow pod.

-head-image​

Container image for the Nextflow driver pod.

-head-memory​

Amount of memory requested for the Nextflow pod.

-head-prescript​

Script to run before the Nextflow pod starts.

-n, -namespace​

Kubernetes namespace to use.

-remoteConfig​

Add the specified file from the Kubernetes cluster to the configuration set.

-remoteProfile​

Configuration profile to use from -remoteConfig.

-v, -volume-mount​

Volume claim mounts. For example, my-pvc:/mnt/path.

Examples​

Run a pipeline on a Kubernetes cluster, using the persistent volume claim vol-claim mounted at /mount/path:

$ nextflow kuberun nextflow-io/hello -v vol-claim:/mount/path

Launch an interactive shell in a Nextflow pod for debugging:

$ nextflow kuberun login -v vol-claim:/mount/path

This command creates a pod, sets up the volume claim(s), configures the Nextflow environment, and launches a Bash login session. The pod is automatically destroyed when the shell session terminates. Do not use it to launch long-running pipelines in the background.