【问题标题】:How to use Docker container variables inside Kubernetes pod如何在 Kubernetes pod 中使用 Docker 容器变量
【发布时间】: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


    【解决方案1】:

    Kompose 可以将 docker compose 文件翻译成 kubernetes 资源:

    https://kubernetes.io/docs/tasks/configure-pod-container/translate-compose-kubernetes/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-07-25
      • 2019-09-22
      • 1970-01-01
      • 2020-07-19
      • 1970-01-01
      • 2021-09-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多