You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Helm Chart创建Pod时第二个配置文件无法找到的问题排查

问题分析与解决

你遇到的核心问题是ConfigMap未正确挂载到容器内的指定路径。创建ConfigMap后,Kubernetes不会自动将其内容放到容器文件系统中,必须通过Volume和VolumeMount完成挂载,否则容器内的/storage/vault-configuration.yml路径根本不存在。

具体排查与修复步骤:

  1. 在Deployment/StatefulSet中声明ConfigMap Volume
    在你的Helm Chart的Deployment模板里,需要先把vault-second-configuration这个ConfigMap定义为容器可访问的Volume:

    volumes:
      - name: vault-config-volume
        configMap:
          name: vault-second-configuration # 必须和你创建的ConfigMap名称完全匹配
    
  2. 给容器添加VolumeMount配置
    在容器的volumeMounts字段中,将上述Volume挂载到容器内的/storage路径(两种挂载方式可选):

    • 挂载整个目录(会覆盖目录原有内容):
      volumeMounts:
        - name: vault-config-volume
          mountPath: /storage # 和启动命令里指定的路径对应
      
    • 仅挂载单个文件(避免覆盖目录原有内容):
      volumeMounts:
        - name: vault-config-volume
          mountPath: /storage/vault-configuration.yml
          subPath: vault-configuration.yml # 对应ConfigMap中存储的文件名
      
  3. 验证挂载结果
    部署完成后,进入Pod检查文件是否存在:

    kubectl exec -it <你的Pod名称> -- ls /storage
    

额外注意事项:

  • 确认ConfigMap名称与Deployment中引用的名称完全一致,避免拼写错误;
  • 如果Helm模板使用了变量(比如{{ .Values.configMap.name }}),要检查变量渲染后的实际值是否正确;
  • 检查容器运行用户对/storage目录是否有读取权限。

内容的提问来源于stack exchange,提问作者Peter Penzov

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 04:33:25