Kubernetes无法将音量安装到文件夹中



我正在关注这些文档,介绍了如何在我的cloud-sql数据库中设置壁板代理。它指的是在Github上的清单,即我在Github roceos等上发现它的整个位置似乎都适合"每个人",但我遇到了麻烦。代理容器无法安装到/秘密/cloudsql,因为它似乎无法成功启动。当我运行kubectl logs [mypod] cloudsql-proxy时:

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

因此,秘密似乎是问题所在。

清单的相关部分:

- 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

要测试/调试秘密,我将卷安装到一个确实启动的另一个容器中,但是路径和file/secrets/cloudsql/mysecret.json也不存在。但是,当我将秘密安装到已经存在的文件夹中时,我可以在此文件夹中找到不是mySecret.json文件(如我所期望的...),但是(在我的情况下)包含两个秘密,所以我发现: /existingfolder/password and /existingfolder/username(显然,这就是它的工作方式!?

因此,该系统似乎无法通过系统制定,这是一个许可问题吗?我尝试简单地将其安装在代理容器中,以便没有文件夹,但这会出现一个错误,说不允许这样做。由于映像gcr.io/cloudsql-docker/gce-proxy:1.11来自Google,而且我无法运行它,所以我看不到它具有什么文件夹。

我的问题:

  1. 是从清单创建的坐骑或应该已经是在容器中?
  2. 我该如何工作?

我解决了它。我在CloudSQL-Proxy上使用了与应用程序(ENV)上使用的秘密相同的秘密,但是它必须是您从服务帐户生成的密钥,然后从中制定秘密。然后它起作用。本教程帮助了我。

相关内容

  • 没有找到相关文章

最新更新