Вы можете объявить переменные окружения в YAML как для Docker файлов, только с другим синтаксисом.
Вот пример, который вы запросили:
apiVersion: v1
kind: Pod
metadata:
name: envar-demo
spec:
containers:
- name: envar-demo
image: busybox
args:
- sleep
- "86400"
env:
- name: spring.datasource.url
value: "jdbc:postgresql://192.168.100.100/my_database"
- name: spring.datasource.username
value: "my_username"
- name: spring.datasource.password
value: "my_password!@#$"
Теперь я создам простой контейнер busybox для отображения во время выполнения активированных переменных:
user@minikube:~$ kubectl apply -f envar-pod.yaml
pod/envar-demo created
user@minikube:~$ kubectl get pods
NAME READY STATUS RESTARTS AGE
envar-demo 1/1 Running 0 8s
user@minikube:~$ kubectl exec -it envar-demo -- /bin/sh
/ # printenv
HOSTNAME=envar-demo
SHLVL=1
HOME=/root
TERM=xterm
spring.datasource.password=my_password!@#$
spring.datasource.url=jdbc:postgresql://192.168.100.100/my_database
spring.datasource.username=my_username
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
PWD=/
/ #
Для получения дополнительной информации см. Переменная среды Expose