GCP Foundation Toolkit:在不使用 terraform 的情况下在 Cloud Run 中部署 docker 容器

问题描述 投票:0回答:0

我已经将 Google Foundation 工具包的简化版本部署到我的 GCP 组织中。它没有所有花里胡哨的东西,但它是一个起点(实际上是出于教育目的)

事实上,我有一个项目“cloudbuild”,其中部署了云构建的所有触发器。我可怜的人基金会的每个阶段都有它的 git 仓库:

  • Foundation(创建 tf 状态触发器)
  • 环境(创建环境文件夹和共享资源)
  • 网络(仅用于 DNS 管理 atm)
  • 项目(创建应用程序基础设施,每个文件一个“项目”)

问题:

一个标准的“项目”通常是一个码头化的应用程序,可以从注册表中拉出并推送到 Cloud Run 中。这是由 IaC 管道和 terraform(我们称之为“app-infra”)完成的。这个 tf 管道从注册表中拉取给定的图像并推送到云运行中。

DOCKERFILE 和应用程序的源代码位于不同的 git 存储库中(我们称之为“应用程序代码”)。这个 repo 有一个自己的 cloudbuild 文件来构建它并推送到注册表中。这是因为我不希望开发团队能够访问 IaC 代码。

所以,这就是发生的事情:

  • 当云架构师推送到 app-infra 时,terraform apply 被触发,新版本的 docker 镜像从注册表中拉出并推送到 Cloud Run。

  • 如果开发人员推送到应用程序代码,则会构建新的 docker 映像并将其推送到注册表中,但由于部署代码已进入应用程序基础设施管道,因此不会部署它。

我是否完全搞砸了我的架构设计,或者有一种方法可以确保在这种情况下适当的安全性和职责分离?

docker google-cloud-platform terraform workflow google-cloud-build
© www.soinside.com 2019 - 2024. All rights reserved.