OpenShift Secret挂载文件损坏或Base64解码异常问题求助
OpenShift挂载Secret中的文件损坏/Base64解码错误:文件大小翻倍无法使用
我遇到了一个异常问题:添加到OpenShift Secret并挂载为卷的文件出现损坏或Base64解码错误,无法正常使用。有人遇到过类似情况吗?
以下是我的操作和现象:
- 通过CLI创建Secret并添加两个文件,挂载后Pod内文件路径正确,但应用无法读取;将文件下载到本地测试也无法正常使用。
- 本地文件的Base64编码字符串与OpenShift Secret中存储的编码完全一致,但从Pod中下载的文件大小几乎是原文件的两倍:.kdb文件从59kB变为108.1kB,.sth文件从129字节变为264字节。
- 尝试将文件的Base64编码存入HashiCorp Vault,再通过Vault Agent注入到OpenShift中,结果与直接挂载Secret完全一致(文件大小相同,仅文件名转为小写)。
相关配置如下:
OpenShift Volume与VolumeMount配置
volumeMounts: - name: db2-ssl-connection readOnly: true mountPath: /opt/app-root/app/secrets/db2 volumes: - name: db2-ssl-connection secret: secretName: db2-cert-secret defaultMode: 420
HashiCorp Vault注入配置
vault.hashicorp.com/agent-inject-secret-db2-ssl-secret_Test.kdb: secrets-engine/data/prefix/group/secrets/db2 vault.hashicorp.com/secret-volume-path-db2-ssl-secret_Test.kdb: /opt/app-root/app/secrets/ vault.hashicorp.com/agent-inject-template-db2-ssl-secret_Test.kdb: > {{ with secret "secrets-engine/data/prefix/group/secrets/db2" -}} {{ index .Data.data "db2-ssl-secret_Test.kdb" | base64Decode }} {{- end }} vault.hashicorp.com/agent-inject-secret-db2-ssl-secret_Test.sth: secrets-engine/data/prefix/group/secrets/db2 vault.hashicorp.com/secret-volume-path-db2-ssl-secret_Test.sth: /opt/app-root/app/secrets/ vault.hashicorp.com/agent-inject-template-db2-ssl-secret_Test.sth: > {{ with secret "secrets-engine/data/prefix/group/secrets/db2" -}} {{ index .Data.data "db2-ssl-secret_Test.sth" | base64Decode }} {{- end }}
内容的提问来源于stack exchange,提问作者Mantas Kazlauskas
相关产品推荐
相关产品推荐

