【发布时间】:2022-11-30 04:02:45
【问题描述】:
我有一个作为 Docker 映像运行的 Flask Web 应用程序,该应用程序部署到在 GKE 上运行的 Kubernetes pod。应用程序需要一些环境变量,它们包含在 docker-compose.yaml 中,如下所示:
...
services:
my-app:
build:
...
environment:
VAR_1: foo
VAR_2: bar
...
我想将这些环境变量保存在 docker-compose.yaml 中,这样我就可以在必要时在本地运行应用程序。但是,当我使用 Kubernetes 部署来部署它时,pod 中缺少这些变量并且会引发错误。我发现解决此问题的唯一方法是将以下内容添加到我的deployment.yaml:
containers:
- name: my-app
...
env:
- name: VAR_1
value: foo
- name: VAR_2
value: bar
...
有没有办法将这些环境变量的值直接从 Docker 容器镜像迁移到 Kubernetes pod 中?
我已经尝试在 Kubernetes 和 Docker 文档以及谷歌搜索中对此进行研究,我能找到的唯一解决方案是将环境变量包含在 deployment.yaml 中,但我想将它们保留在 docker-compose.yaml 中用于在本地运行容器。我找不到任何解释 Docker 容器环境变量和 Kubernetes 环境变量如何交互的内容。
【问题讨论】:
标签: docker kubernetes environment-variables containers