【问题标题】: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?如何使用 Kubernetes YAML 文件在 spring-boot 容器上设置 spring.datasource 的环境?和 Docker YAML 一样吗?
【发布时间】:2020-05-10 15:57:05
【问题描述】:

所以前几天我刚刚了解了 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 文件中实现这一点。我该怎么做?

【问题讨论】:

标签: spring-boot docker kubernetes yaml kubernetes-pod


【解决方案1】:

您可以像在 Docker 文件上一样在 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=/
/ #

更多信息请参考Environment Variable Expose

【讨论】:

    【解决方案2】:

    没有。 Kubernetes yaml 文件和 docker-compose 文件是不同的。检查 Kompose (https://github.com/kubernetes/kompose) 工具将您的 docker-compose 转换为 kubernetes 文件。

    【讨论】:

      猜你喜欢
      • 2019-10-26
      • 1970-01-01
      • 2020-03-20
      • 2015-09-30
      • 2017-11-04
      • 2018-11-29
      • 2019-03-08
      • 2023-03-11
      相关资源
      最近更新 更多