k8s pod MySQL环境变量,配置 – 在Docker中相当于env-file的Kubernetes
背景:目前,我们正在使用Docker和Docker Compose为我们的服务。我们已将不同环境的配置外部化为定义应用程序读取的环境变量的文件。例如prod.env文件:ENV_VAR_ONE=Something ProdENV_VAR_TWO=Something else Prod和一个test.env文件:ENV_VAR_ONE=Something TestENV_VAR_TWO=Someth
背景:
目前,我们正在使用Docker和Docker Compose为我们的服务。我们已将不同环境的配置外部化为定义应用程序读取的环境变量的文件。例如prod.env文件:
ENV_VAR_ONE=Something Prod
ENV_VAR_TWO=Something else Prod
和一个test.env文件:
ENV_VAR_ONE=Something Test
ENV_VAR_TWO=Something else Test
因此,我们可以在启动容器时简单地使用prod.env或test.env文件:
docker run --env-file prod.env
然后,我们的应用程序将根据prod.env中定义的环境变量来选择其配置。
问题:
>有没有办法从Kubernetes的文件中提供环境变量(例如定义一个pod),而不是像这样对它们进行硬编码:
apiVersion: v1
kind: Pod
metadata:
labels:
context: docker-k8s-lab
name: mysql-pod
name: mysql-pod
spec:
containers:
-
env:
-
name: MYSQL_USER
value: mysql
-
name: MYSQL_PASSWORD
value: mysql
-
name: MYSQL_DATABASE
value: sample
-
name: MYSQL_ROOT_PASSWORD
value: supersecret
image: "mysql:latest"
name: mysql
ports:
-
containerPort: 3306
>如果不可能,建议的方法是什么?
更多推荐
所有评论(0)