Nextflow documentation is migrating

Nextflow documentation is being migrated to docs.seqera.io/nextflow. This site will remain available throughout the migration.

nextflow.k8s

The nextflow.k8s package implements the Kubernetes executor and the kuberun command.

Class Diagram

        classDiagram
    %%
    %% nextflow.k8s
    %%
    Executor <|-- K8sExecutor
    TaskHandler <|-- K8sTaskHandler
    BashWrapperBuilder <|-- K8sWrapperBuilder

    K8sExecutor --> TaskPollingMonitor : init
    K8sExecutor --> K8sTaskHandler : submit
    K8sExecutor --* K8sClient
    K8sTaskHandler --> K8sWrapperBuilder : submit

    CmdKubeRun --> K8sDriverLauncher : run

    class K8sDriverLauncher {
        args : List~String~
        cmd : CmdKubeRun
        config : ConfigObject
        configMapName : String
        headCpus : int
        headImage : String
        headMemory : String
        headPreScript : String
        paramsFile : String
        pipelineName : String
        runName : String
    }
    K8sDriverLauncher --* K8sClient
    K8sDriverLauncher --* K8sConfig

    K8sClient --* ClientConfig
    %% ConfigDiscovery --> ClientConfig : discover

    class K8sConfig {
        target : Map
        podOptions : PodOptions
    }
    K8sConfig --* PodOptions

    class PodOptions {
        affinity : Map
        annotations : Map
        automountServiceAccountToken : boolean
        configMaps : Collection~PodMountConfig~
        envVars : Collection~PodEnv~
        imagePullPolicy : String
        imagePullSecret : String
        labels : Map
        nodeSelector : PodNodeSelector
        priorityClassName : String
        privileged : Boolean
        secrets : Collection~PodMountSecret~
        securityContext : PodSecurityContext
        tolerations : List~Map~
        volumeClaims : Collection~PodVolumeClaim~
    }

    

Note

Some classes may be excluded from the above diagram for brevity.

Notes

The Kubernetes integration uses the K8s HTTP API to interact with K8s clusters, and relies on the kubectl command and ~/.kube/config file for authentication.