【问题标题】:deploy different resources using deployment manager?使用部署管理器部署不同的资源?
【发布时间】:2019-07-11 11:05:41
【问题描述】:

我打算使用部署管理器为我们的每个客户部署一个新项目。

我只是想知道我可以使用部署管理器执行以下操作还是将其放入脚本/YAML 中,以便通过命令 shell 一次性部署所有组件?

  1. 创建一个新的 GCP 项目
  2. 为分配了自定义子网的客户端创建 VPC
  3. 创建 VM 并将网络设置为自定义 VPC/子网
  4. 使用 yaml 文件创建具有不同服务的应用引擎
  5. 创建存储桶
  6. 创建云 Postgres SQL 实例

到目前为止我所尝试的,我只能通过部署管理器部署虚拟机,我可以使用命令行单独完成它们,但不能一步使用部署管理器。

感谢您的帮助。

【问题讨论】:

    标签: google-cloud-platform google-deployment-manager


    【解决方案1】:

    部署管理器应该非常适合这种类型的设置。不过有一些小警告。

    1. 您需要有一个可以从中运行部署管理器的项目
    2. 在创建部署之前,您需要向部署管理器服务帐户提供所有必需的权限(例如组织级别的项目创建者)。服务帐号是 [PROJECT_ID]@cloudservices.gserviceaccount.com

    接下来,您需要在部署管理器清单中单独调用每个资源,幸运的是,DM 支持所有这些资源 API:

    1. Projects 创建项目。
      ** 以下所有资源都应为此资源创建reference 以创建依赖关系,以便DM 在项目存在之前不会尝试创建它们...这将导致失败

    2. VPC 和 VM:使用类似 this
      ** 这包括在最后添加 GKE 集群和您不需要的 VPC 对等互连,但它演示了 VPC、子网、防火墙规则和 VM 的创建

    3. App Engine

    4. GCS Bucket

    5. SQL instance

    只要您的整体配置小于 1 MB,您就可以将所有这些资源放入一个配置中。 如果您是 DM 新手,我建议您单独尝试这些资源,以确保您的语法正确。尝试使用多种资源调试语法错误要困难得多。

    我还建议在创建或更新资源之前使用--preview flag,这样您就可以确保您的配置或更改会按照您的计划生效。

    最后,您可以将所有这些直接写入 YAML 配置,也可以使用 either jinja or python2 创建模板,并将其导入到您的 config.yaml 中

    【讨论】:

      【解决方案2】:

      请查看部署管理器Cloud Foundation Toolkit,这是一组精心设计的模板。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2018-01-29
        • 2015-11-20
        • 2021-08-04
        • 2015-12-10
        • 1970-01-01
        • 1970-01-01
        • 2017-05-31
        相关资源
        最近更新 更多