【问题标题】:Passing an external file as an argument to a Kubernetes POD将外部文件作为参数传递给 Kubernetes POD
【发布时间】:2020-06-04 06:10:35
【问题描述】:

我需要在 Kubernetes 中部署一个容器。我创建的图像需要某些参数,其中一个是放置在外部位置的文件,比如 Github。

我如何能够挂载这个外部文件的路径,以便在我部署这个容器并传递参数时,文件可以传递给容器。

目前已给出文件的完整路径

args: ["update","--changesetFile","https://github.com/lbg-gcp-foundation/ep-liquibase-db-propagation/blob/db-prop-pipeline/resources/release1.0/customer/ddl/db.changelog.customer.ddl.rel1.sql","--url=jdbc:cloudspanner:/projects/eplus-cus-02-ide-d08b/instances/spn-01/databases/spd-01","--labels","base","--tag","0.0.1-test"]

如何挂载这个路径“https://github.com/lbg-gcp-foundation/ep-liquibase-db-propagation/blob/db-prop-pipeline/resources/release1.0/customer/ddl/db.changelog.customer.ddl.rel1.sql

【问题讨论】:

  • 当我得到 404 时,我猜它是您的私有目录。如果此故障仅包含文本,您可以考虑创建 ConfigMap。如果此映像是由 Dockerfile 创建的,您可以在映像中对其进行硬编码。还是必须以某种特定方式安装?

标签: kubernetes kubernetes-pod


【解决方案1】:

有一个叫做 gitRepo 的东西作为可挂载的卷,但现在已弃用。 https://kubernetes.io/docs/concepts/storage/volumes/#gitrepo

正如上面的链接所述,您应该使用初始化容器来克隆存储库并将其挂载为 emptyDir。

curl 也可能足以获取文件。

【讨论】:

  • 我正在通过 helm 旋转一个 pod。我想作为参数发送的 sql 文件位于 helm 的同一工作区中,但位于图表目录之外的位置。我可以创建一个 empDir,但是如何在 pod 出现之前将 sql 文件(位于同一工作区中的“src/main/resources/ddl/*sql”位置)放入其中并引用安装在 empDir 上的卷?如果您有任何解决方案,请帮助我。
猜你喜欢
  • 2019-06-12
  • 2021-01-11
  • 1970-01-01
  • 1970-01-01
  • 2018-05-20
  • 2022-09-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多