3

我正在尝试在 AWS EKS 上使用 Snakemake,在奇异容器中运行 shell 命令。如果我理解正确的话,Snakemake 然后由 kubernetes 作为容器本身运行,所以我会在 Pod 中运行一个奇异容器。我在 Snakefile 的同一文件夹中有一个 ubuntu 图像。如何告诉 Singularity 图片的存储路径?

我尝试运行在 DockerHub 中指定图像的工作流,它运行良好。但是,如果我指定 --kubernetes 标志,我无法使其与存储在我的 EC2 实例中的图像一起使用(如果我在没有 --kubernetes 的情况下运行它,它也可以与本地图像完美运行)。我尝试在 EC2 实例上指定图像的路径,但它不起作用。

我的 Snakefile 看起来像这样:

rule test:
    singularity:
        "ubuntu.simg"
    output:
        "out.txt"
    shell:
        "cat /etc/os-release > {output}"

我使用以下命令运行 Snakemake:

snakemake --kubernetes --default-remote-provider S3 --default-remote-prefix S3-bucket-name --use-singularity

所需的输出是在指定的 s3 存储桶中创建的文件“out.txt”,其中包含有关“ubuntu.sigm”容器的操作系统版本的信息。实际结果是一个失败的工作。如果我检查

kubectl logs snakejob-c25eaf1f-6ad4-505e-94a0-646543a59d33

我得到错误:

ERROR  : Image path ubuntu.simg doesn't exist: No such file or directory
ABORT  : Retval = 255

有同样问题的人吗?

4

0 回答 0