![](/img/trans.png)
[英]How to set the values from command line for placeholders in spring-boot's Yaml file
[英]How do I set the environment for spring.datasource on a spring-boot container using a Kubernetes YAML file ? Is it the same as Docker YAML?
所以前幾天我剛剛了解了 Docker,我可以在我的 Docker-Compose YAML 文件中使用如下內容:
environment:
- spring.datasource.url=jdbc:postgresql://192.168.100.100/my_database
- spring.datasource.username=my_username
- spring.datasource.password=my_password!@#$$
我喜歡在我的 Kubernetes YAML 文件上實現這個。 我怎樣才能做到這一點?
不。Kubernetes yaml 文件和 docker-compose 文件是不同的。 檢查 Kompose ( https://github.com/kubernetes/kompose ) 工具將您的 docker-compose 轉換為 kubernetes 文件。
您可以像在 Docker Files 上一樣在 YAML 上聲明環境變量,只是使用不同的語法。
這是您要求的示例:
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=/
/ #
有關更多信息,請參閱環境變量暴露
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.