GCP Deployment Manager 模板是不是需要架构文件?

Posted

技术标签:

【中文标题】GCP Deployment Manager 模板是不是需要架构文件?【英文标题】:Do GCP Deployment Manager templates require a schema file?GCP Deployment Manager 模板是否需要架构文件? 【发布时间】:2018-12-05 20:46:48 【问题描述】:

由于模板可以自己存储值(除了从配置 yaml 文件中接收值),我们创建模板时是否需要架构?

如果不是,那么使用架构是否只是为了强制执行需要哪些值以及需要提供给模板的值的类型?

编辑 我指的是模板架构,而不是资源属性架构:https://cloud.google.com/deployment-manager/docs/configuration/templates/using-schemas

【问题讨论】:

我不确定我是否理解您的问题。 Deployment Manager 有一个用于其模板的内置模式。您不提供自己的架构。接受的格式和值(或值的类型)在文档中定义。 @JohnHanley 我相信您指的是属性架构。这是不同的。这是您创建的模板的架构:cloud.google.com/deployment-manager/docs/configuration/… 我从未在我的部署中包含模板架构。 @JohnHanley 你是只使用 yaml 文件,还是也包含 python/jinja 文件? 只是 YAML。我每天都使用 DM,我喜欢这个产品。非常容易使用。 【参考方案1】:

Google 部署管理器不要求您指定架构,但您可以为特定用例创建一个架构。我经常使用部署管理器,并且我只使用标准 YAML 语法进行部署。

对于有兴趣了解更多信息的人:

Cloud Deployment Manager: Using Schemas

【讨论】:

【参考方案2】:

我知道它很旧,但它是错误的。问题是关于模板,而不是配置。如果您在使用 gcloud 部署期间创建模板 (.jinja) 并从配置 (.yaml) 中导入它,则每个导入的 .jinja 都需要一个 .jinja.schema 文件。

gcloud 在打包部署时使用架构,如果您使用纯 yaml(无导入=无架构)则不需要它们,如果您直接使用 API 部署也不需要它们。

【讨论】:

以上是关于GCP Deployment Manager 模板是不是需要架构文件?的主要内容,如果未能解决你的问题,请参考以下文章

Google Deployment Manager Extensions

GCP Secret Manager 抛出:“路径”参数必须是字符串类型

Kubernetes源码解析之controller-manager deployment同步流程

Kubernetes源码解析之controller-manager deployment同步流程

在 Docker-nontso Permission Denied 中从 Python 访问 GCP Secret Manager 中的机密

Kubernetes Deployment的创建过程