Google 部署管理器(无效的配置文件:模板获取失败/无法找到资源)

Google Deploy Manager (Invalid config files: Template fetching failed / Failed to find resource)

使用 Google 部署管理器时:

gcloud deployment-manager deployments create  my-environment --config my-environment.jinja

我收到以下错误:

ErrorsValueListEntry INVALID_CONFIG

Invalid config files: Template fetching failed: Failed to find resource

不管我的内容是什么my-environment.jinja - 即使复制样本时发现in the documentation

不确定我做错了什么?

原来你的子模板应该命名为 *.jinja*.py 主部署文件(即使它包含 jinja 代码)应该命名为 .yaml

因此

my-environment.jinja 应该是 my-environment.yaml 但仅适用于主要部署文件 。模板仍应命名为 *.jinja

由于 Google Deployment Manager 今天使用得不太好,因此缺乏对常见问题的问答。把它放在那里供 Google(和用户)查找。

Deployment Manager 命令行工具将模板(由 .jinja.py 文件扩展名确定)与顶级配置(可以具有任何其他文件扩展名)作为输入--config 标志。

如果输入配置是模板,该工具将在模板的架构文件(例如 foo.jinja.schema)中查找其子导入,而不是像使用顶级 YAML 配置。

我的猜测是上面的错误片段不完整,完整的错误包含有关找不到哪个模板的详细信息。这可能是未正确导入的子模板。

例子

顶级配置

顶级 YAML 配置,my-environment.yaml,可能如下所示:

imports
- path: sub-template.jinja

resources:
- name: sub-template
  type: sub-template.jinja

这是用命令部署的:

gcloud deployment-manager deployments create env --config my-environment.yaml

模板

模板 my-environment.jinja 将定义为:

resources:
- name: sub-template
  type: sub-template.jinja

使用单独的文件,my-environment.jinja.schema,定义 属性 架构和导入:

imports:
- path: sub-template.jinja

可以使用以下命令部署:

gcloud deployment-manager deployments create env --config my-environment.jinja

甚至可以使用 --properties.

从命令行获取属性

有关架构的详细信息,请参阅 Deployment Manager 文档中的 Using Schemas