我正在尝试在GCP部署管理器中创建配置文件,并且我有一个元数据文件需要导入为文本。
我知道如何在.py文件中执行此操作,但想知道如何在YAML中执行该操作。
我尝试了不同的方法,但似乎都没有效果。
我正在尝试在GCP部署管理器中创建配置文件,并且我有一个元数据文件需要导入为文本。
我知道如何在.py文件中执行此操作,但想知道如何在YAML中执行该操作。
我尝试了不同的方法,但似乎都没有效果。
尽管Deployment Manager可以使用imports
语句将Jinja2或Python模板导入到根配置文件中,但是无法导入纯YAML。这是YAML的局限性。它不具有“导入”或“包含”功能。
这里讨论了类似的问题:https://stackoverflow.com/a/15437697/11602913。
在纯YAML部署文件中,可以按文档中的说明从字面上提供元数据
Google Cloud Platform for AWS Professionals: Infrastructure Deployment Tools:
resources:
- name: my-first-vm-template
type: compute.v1.instance
properties:
...
metadata:
items:
- key: startup-script
value: "STARTUP-SCRIPT-CONTENTS"
如果应从文件中加载元数据,则必须使用Jinja2模板。 codelabs.developers.google.com有一个示例:
Deploy Your Infrastructure Using Deployment Manager > Creating your deployment configuration
imports:
- path: instance.jinja
- path: ../startup-script.sh
name: startup-script.sh
resources:
- name: my-instance
type: instance.jinja
properties:
metadata-from-file:
startup-script: startup-script.sh