kubernetes 秘密项目未挂载为文件路径
kubernetes secret items not mounted as file path
我有以下 yaml:
volumeMounts:
- name: app-secret
mountPath: /app
readOnly: true
volumes:
- name: app-secret
secret:
secretName: app-secret
items:
- key: app-secret.json
path: appsettings.secret.json
我希望秘密安装在 /app/appsettings.secret.json
上,但事实并非如此。我不知道它安装在哪里,容器崩溃了,我没有机会 kubectl exec
进入容器来检查秘密安装的位置。我的猜测是它擦除了 /app
的内容。感谢任何建议和见解。
您是否可以共享完整的 yaml 以查看它是否有其他问题并因此导致崩溃?
我已经在我的环境中试过了,效果很好,请看附件。
在我的环境中测试 - 见下图:
这个有效:
volumeMounts:
- name: app-secret
mountPath: /app/appsettings.secret.json
subPath: appsettings.secret.json
readOnly: true
volumes:
- name: app-secret
secret:
secretName: app-secret
items:
- key: app-secret.json
path: appsettings.secret.json
是的,你的假设是正确的。挂载到根目录下,这就是为什么我们通常将密文挂载在不同的文件夹下,比如 /senstivie
。我从未尝试过 @KOk,但它看起来很有趣 - 如果它有效,我会很感兴趣!
无论如何,如果您想查看一个真实的工作示例 - 这是我构建的 OSS 项目的 volume mount definition and this is the Dockerfile(Kamus,一个秘密加密解决方案)。它类似于您的用例 - dotnet 核心,带有 appsettings.secrets.json。如果没有帮助,请告诉我。
我有以下 yaml:
volumeMounts:
- name: app-secret
mountPath: /app
readOnly: true
volumes:
- name: app-secret
secret:
secretName: app-secret
items:
- key: app-secret.json
path: appsettings.secret.json
我希望秘密安装在 /app/appsettings.secret.json
上,但事实并非如此。我不知道它安装在哪里,容器崩溃了,我没有机会 kubectl exec
进入容器来检查秘密安装的位置。我的猜测是它擦除了 /app
的内容。感谢任何建议和见解。
您是否可以共享完整的 yaml 以查看它是否有其他问题并因此导致崩溃?
我已经在我的环境中试过了,效果很好,请看附件。
在我的环境中测试 - 见下图:
这个有效:
volumeMounts:
- name: app-secret
mountPath: /app/appsettings.secret.json
subPath: appsettings.secret.json
readOnly: true
volumes:
- name: app-secret
secret:
secretName: app-secret
items:
- key: app-secret.json
path: appsettings.secret.json
是的,你的假设是正确的。挂载到根目录下,这就是为什么我们通常将密文挂载在不同的文件夹下,比如 /senstivie
。我从未尝试过 @KOk,但它看起来很有趣 - 如果它有效,我会很感兴趣!
无论如何,如果您想查看一个真实的工作示例 - 这是我构建的 OSS 项目的 volume mount definition and this is the Dockerfile(Kamus,一个秘密加密解决方案)。它类似于您的用例 - dotnet 核心,带有 appsettings.secrets.json。如果没有帮助,请告诉我。