gpt4 book ai didi

Kubernetes 无法将卷挂载到文件夹

转载 作者:行者123 更新时间:2023-12-03 22:55:27 25 4
gpt4 key购买 nike

我正在关注 these docs关于如何为我的 cloud-sql 数据库设置 sidecar 代理。它指的是 manifest on github那 - 正如我在 github repos 等上到处发现的那样 - 似乎对“每个人”都有效,但我遇到了麻烦。代理容器无法挂载到/secrets/cloudsql 似乎无法成功启动。当我跑 kubectl logs [mypod] cloudsql-proxy :

invalid json file "/secrets/cloudsql/mysecret.json": open /secrets/cloudsql/mysecret.json: no such file or directory

所以这个 secret 似乎是问题所在。

list 的相关部分:
- name: cloudsql-proxy
image: gcr.io/cloudsql-docker/gce-proxy:1.11
command: ["/cloud_sql_proxy",
"-instances=pqbq-224713:europe-west4:osm=tcp:5432",
"-credential_file=/secrets/cloudsql/mysecret.json"]
securityContext:
runAsUser: 2
allowPrivilegeEscalation: false
volumeMounts:
- name: cloudsql-instance-credentials
mountPath: /secrets/cloudsql
readOnly: true
volumes:
- name: cloudsql-instance-credential
secret:
secretName: mysecret

为了测试/调试 secret ,我将卷安装到另一个启动的容器,但路径和文件/secrets/cloudsql/mysecret.json 也不存在。但是,当我将 secret 安装到已经存在的文件夹中时,我可以在此文件夹中找到不是 mysecret.json 文件(正如我所料...)但是(在我的情况下)它包含两个 secret ,所以我发现: /existingfolder/password/existingfolder/username (显然这就是它的工作原理!?当我发现这些 secret 时,它们给出了正确的字符串,所以它们看起来很好)。

所以看起来系统无法制作路径,这是权限问题吗?我尝试简单地将代理容器安装到根目录 ('/'),​​因此没有文件夹,但这给出了一个错误,表明不允许这样做。如图 gcr.io/cloudsql-docker/gce-proxy:1.11来自谷歌,我无法运行它我看不到它有什么文件夹。

我的问题:
  • mountPath 是从 list 创建的还是应该已经创建
    在容器中?
  • 我怎样才能让它工作?
  • 最佳答案

    我解决了。我在 cloudsql-proxy 上使用的 secret 与应用程序 (env) 上使用的 secret 相同,但它需要是您从服务帐户生成的 key ,然后从中生成 secret 。然后它起作用了。 This tutorial帮助我度过了难关。

    关于Kubernetes 无法将卷挂载到文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53815189/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com