1

我们正在尝试在 k8s 命名空间上使用 nextflow,而不是我们的默认命名空间,我们正在使用的命名空间是nextflownamespace. 我们已经创建了 PVC 并确保默认服务帐户具有管理员角色绑定。我们收到 nextflow 无法访问 PVC 的错误:

"message": "persistentvolumeclaims \"my-nextflow-pvc\" is forbidden: 
User \"system:serviceaccount:mynamespace:default\" cannot get resource 
\"persistentvolumeclaims\" in API group \"\" in the namespace \"nextflownamespace\"",

在那个错误中,我们看到它system:serviceaccount:mynamespace:default错误地指向了我们的默认命名空间,mynamespace而不是nextflownamespace我们为 nextflow 使用而创建的。

我们尝试添加debug.yaml = true到我们的nextflow.config但找不到它提交给 k8s 以验证错误的 YAML。我们的配置文件如下所示:

profiles {
  standard { 
    k8s {
          executor = "k8s"
          namespace = "nextflownamespace"
          cpus = 1
          memory = 1.GB
          debug.yaml = true
        }
    aws{ 
          endpoint = "https://s3.nautilus.optiputer.net"
       }
  }

我们确实验证了当我们将命名空间更改为另一个任意值时,错误消息使用了新的任意命名空间,但服务帐户名称继续错误地指向用户的默认命名空间。

我们已经尝试profiles.standard.k8s.serviceAccount = "system:serviceaccount:nextflownamespace:default"了我们能想到的所有变体,但这些尝试没有得到任何改变。

4

1 回答 1

1

我认为最好避免在 Nextflow 中使用嵌套的配置文件。我要么从您的个人资料中删除“标准”层,要么将“标准”设为单独的个人资料:

profiles {

    standard {
      process.executor = 'local'
    }

    k8s {
        executor = "k8s"
        namespace = "nextflownamespace"
        cpus = 1
        memory = 1.GB
        debug.yaml = true
    }

    aws{ 
        endpoint = "https://s3.nautilus.optiputer.net"
    }
}
于 2020-09-27T02:56:01.340 回答