Minikube中Pod挂载两个动态PVC仅一个生效问题排查
问题原因及解决方法
问题出在Pod定义的containers部分,你重复声明了volumeMounts字段。YAML语法中,同一个层级下的重复键会被后面的键覆盖前面的,所以第一个挂载配置(niranjan-pv)被第二个覆盖,最终容器只应用了最后一个挂载规则。
修正后的完整清单文件
apiVersion: v1 kind: PersistentVolumeClaim metadata: name: niranjan-pvc spec: accessModes: - ReadWriteMany resources: requests: storage: 1Gi --- kind: PersistentVolumeClaim apiVersion: v1 metadata: name: praveen-pvc spec: accessModes: - ReadWriteMany resources: requests: storage: 1Gi --- kind: Pod apiVersion: v1 metadata: name: praveen-pod spec: volumes: - name: niranjan-pv persistentVolumeClaim: claimName: niranjan-pvc - name: praveen-pv persistentVolumeClaim: claimName: praveen-pvc containers: - name: task-pv-container image: nginx ports: - containerPort: 80 name: "http-server" volumeMounts: - mountPath: "/tmp/niranjan-mount" name: niranjan-pv - mountPath: "/tmp/praveen-mount" name: praveen-pv
关键修改说明
把原本分开的两个volumeMounts字段合并成一个数组,将两个挂载配置放在同一个volumeMounts下,这样YAML解析时会保留所有挂载规则,容器就能同时挂载两个PVC对应的卷。
部署修正后的清单后,可通过kubectl exec praveen-pod -- ls /tmp命令验证两个挂载目录是否存在。
内容的提问来源于stack exchange,提问作者Niranjan Reddy
相关产品推荐
相关产品推荐

