我正在尝试了解 Spring Cloud Kubernetes 以加载秘密,我观察到的是,如果一个属性具有类似 yml 的结构,那么它不会被加载到应用程序中。
前任:
kind: Secret
metadata:
name: activemq-secrets
labels:
broker: activemq
type: Opaque
data:
amqusername: bXl1c2VyCg==
amq.password: MWYyZDFlMmU2N2Rm
K8清单
template:
spec:
volumes:
- name: secretvolume
secret:
secretName: activemq-secrets
containers:
-
volumeMounts:
- name: secretvolume
readOnly: true
mountPath: /etc/secrets/
虚拟机参数:
-Dspring.cloud.kubernetes.secrets.paths=/etc/secrets/
-Dspring.cloud.kubernetes.secrets.enabled=true
尝试加载@Value("${amqusername}")
作品
但是,当我尝试使用此属性读取此属性时,@Value("${amq.password}")
出现找不到占位符的错误。我试过打印所有 spring 配置,但没有显示。我怎样才能解决这个问题。
尝试将 secret 中的变量名称更改为 amq_password
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句