0

我正在尝试使用 celery-k8s 运行 dagster 并使用示例/celery-k8s 作为开始。从操场上运行管道后,我得到

Initialization of resources [s3, io_manager] failed.
botocore.exceptions.NoCredentialsError: Unable to locate credentials

如文档中所述,我已在 env 变量中配置 aws 凭据

deployments:
    - name: "user-code-deployment-test"
      image:
        repository: "somasays/dagster-usercode-example"
        tag: "0.5"
        pullPolicy: Always
      dagsterApiGrpcArgs:
        - "-f"
        - "/workspace/repo.py"
      port: 3030
      env:
        AWS_ACCESS_KEY_ID: AAAAAAAAAAAAAAAAAAAAAAAAA
        AWS_SECRET_ACCESS_KEY: qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
        AWS_DEFAULT_REGION: eu-central-1

而且我还可以看到这些值是在 pod 的 env 变量中设置的,并且还可以在 pip install awscli 和 aws s3 ls 之后访问 s3 位置,但请查看作业 pod 下方的屏幕截图但是会抛出Unable to locate credentials

截屏 请帮忙

4

1 回答 1

2

部署配置适用于用户代码服务器。同时 celery 执行器在不同的 kubernetes 作业中运行你的管道代码。要在那里提供您的秘密,您需要env_secrets在管道运行配置中配置 celery-k8s 执行器的字段。

有关配置的详细信息,请参阅https://github.com/dagster-io/dagster/blob/master/python_modules/libraries/dagster-k8s/dagster_k8s/job.py#L321-L327

于 2021-05-05T16:45:24.517 回答