1

我正在运行一个烧瓶应用程序,该应用程序提供一个 ML 模型,该模型加载到 k8s 上的 wordembeddings 文件 (2GB) 中。该文件正在使用 gcsfuse 加载,我们的应用程序运行了大约 2 年。

由于最近重新启动了 pod,此设置不再起作用,而我们的代码/部署设置没有任何变化。在调试时,我注意到我们甚至遇到了以下 dockerfile 甚至不使用 python 脚本的问题:

Dockerfile:

FROM levkuznetsov/gcsfuse-docker

RUN apt-get update && apt-get install -y

build-essential

COPY . /app

WORKDIR /app

RUN /bin/bash -c "mkdir -p /app/wordembeddingtest"

COPY ./serviceacc.json /

ADD /serviceacc.json /etc/gcloud/serviceacc.json

ADD /serviceacc.json /etc/gcloud/service-account.json

EXPOSE 8080

ENTRYPOINT ["/bin/bash", "-c", "gcsfuse bucket_name wordembeddingtest ; ls wordembeddingtest"]

更奇怪的是,我们还有其他使用相同设置的部署,它们可以重新启动并且仍然可以工作。

日志显示以下错误:

在此处输入图像描述

通过 --foreground --debug_invariants --debug_http --debug_gcs --debug_fuse 我们得到以下信息:

在此处输入图像描述

在此处输入图像描述

到目前为止我检查过的内容:

服务帐号权限没问题

到目前为止我已经尝试过:

不同的存储桶 gcsfuse 命令与 Implicit-dirs, -o allow_other 不同的 kubernetes 集群 其他挂载文件夹位置

4

0 回答 0