我有以下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
的内容。任何建议和见识都将受到赞赏。
答案 0 :(得分:0)
答案 1 :(得分:0)
这有效:
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
答案 2 :(得分:-1)
是的,您的假设是对的。将安装到根文件夹中将这就是为什么我们通常将机密安装在不同的文件夹下,例如/senstivie
。我从未尝试过@KOk,但它看起来很有趣-了解它是否有效将会很有趣!
无论如何,如果您想看到一个实际的工作示例-这是我构建的OSS项目(Kamus,用于秘密加密的解决方案)的volume mount definition和Dockerfile。它类似于您的用例-dotnet核心,带有appsettings.secrets.json。如果没有帮助,请告诉我。