无法从 kubernetes 中的挂载卷将配置数据加载到 spring boot 应用程序
Unable to load config data to springboot application from mounted volume in kubernetes
我有 springboot 应用程序,我正在尝试从卷安装位置 /tmp/secret-config.yaml 加载其他配置并出现以下错误:
java.lang.IllegalStateException:无法从“/tmp/secret-config.yaml”
加载配置数据
我不想为此使用配置映射或机密。这是一个简单的 json 文件,我正在尝试加载它。
我正试图从 shell 脚本中像这样传递它。
java -jar /opt/app.jar --spring.config.additional-location=/tmp/secret-config.yaml
有人可以帮忙吗?
我建议验证您的 pod 中文件的卷安装。
您可以使用以下命令验证它:
kubectl exec -it <podName> -- cat /tmp/secret-config.yaml
kubectl exec -it <podName> -- ls /tmp
此外,您的 yaml 文件中的卷装载配置会很有趣。您是否在 Pod 配置中为 volumeMount
指定了 mountPath
?
您还可以使用以下命令检查 mountPath:
# for a pod with a single container and only one volumeMount
kubectl get pods <podName> -o jsonpath='{.spec.containers[0].volumeMounts[0].mountPath}'
我有 springboot 应用程序,我正在尝试从卷安装位置 /tmp/secret-config.yaml 加载其他配置并出现以下错误: java.lang.IllegalStateException:无法从“/tmp/secret-config.yaml”
加载配置数据我不想为此使用配置映射或机密。这是一个简单的 json 文件,我正在尝试加载它。
我正试图从 shell 脚本中像这样传递它。 java -jar /opt/app.jar --spring.config.additional-location=/tmp/secret-config.yaml
有人可以帮忙吗?
我建议验证您的 pod 中文件的卷安装。 您可以使用以下命令验证它:
kubectl exec -it <podName> -- cat /tmp/secret-config.yaml
kubectl exec -it <podName> -- ls /tmp
此外,您的 yaml 文件中的卷装载配置会很有趣。您是否在 Pod 配置中为 volumeMount
指定了 mountPath
?
您还可以使用以下命令检查 mountPath:
# for a pod with a single container and only one volumeMount
kubectl get pods <podName> -o jsonpath='{.spec.containers[0].volumeMounts[0].mountPath}'