我们尝试在非默认的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"
我们能想到的变体,但是这些尝试没有得到任何改变。
我认为最好避免在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"
}
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句