Using Kubernetes Secrets with Spring Boot
First, create a secret, for this example we’ll be storing a username and password
kubectl create secret generic mssqldbcreds --from-literal=spring.db.username=mrbusche --from-literal=spring.db.password=hunter2
Second, add a reference to deployment.yml for each key
spec:
template:
spec:
containers:
- env:
- name: USERNAME
valueFrom:
secretKeyRef:
name: mssqldbcreds
key: spring.db.username
- name: PASSWORD
valueFrom:
secretKeyRef:
name: mssqldbcreds
key: spring.db.password
Finally, reference the value in your application.yml
spring:
db:
username: ${USERNAME}
password: ${PASSWORD}