8.2. 设备模板


团队的设备模板包含一个设备规格,在模板更新时应用于该团队中的所有设备。

例如,您可以在团队中的所有设备模板中指定,必须运行 quay.io/flightctl/rhel:9.5 操作系统镜像。

然后,Red Hat Edge Manager 服务将目标规格部署到团队中的所有设备,Red Hat Edge Manager 代理会更新每个设备。

您可以更改设备模板中的其他规格项目,Red Hat Edge Manager 会以同样的方式应用更改。

但是,有时不是该团队中的所有设备都需要有完全相同的规格。Red Hat Edge Manager 允许模板包含基于设备名称或标签值填充的占位符。

占位符的语法与 Go 模板 的语法匹配。但是,您只能使用简单的文本和操作。

不支持在占位符中使用条件或循环。

您可以从设备的元数据引用任何内容,如 {{ .metadata.labels.key }}{{ .metadata.name }}

您还可以在占位符中使用以下功能:

  • 大写 的功能会将值更改为大写。例如,函数是 {{ upper .metadata.name }}
  • 较低 函数将值改为小写。例如,函数为 {{ lower .metadata.labels.key }}
  • replace 函数将所有子字符串出现的所有替换为另一个字符串。例如,函数是 {{ replace "old" "new" .metadata.labels.key }}
  • 如果访问缺少的标签,getOrDefault 函数会返回一个默认值。例如,函数是 {{ getOrDefault .metadata.labels "key" "default" }}。您可以组合管道中的功能,例如: combined 函数为 {{ getOrDefault .metadata.labels "key" "default" | upper | replace " "-" }}
注意

确保您使用正确的 Go 模板语法。例如,{{ .metadata.labels.target-revision }} 无效,因为连字符。相反,您必须将字段指代为 {{ index .metadata.labels "target-revision" }}

您可以使用以下方法在设备模板中使用占位符:

  • 您可以按部署阶段标记设备,例如: stage 标签是 stage: testingstage: production。然后,您可以在引用要使用的操作系统镜像时将标签与 stage 键用作占位符,例如,使用 quay.io/myorg/myimage:latest-{{ .metadata.labels.stage }},或在引用 Git 存储库中的配置文件夹时。
  • 您可以通过部署站点标记设备,例如部署站点为 site: factory-berlinsite: factory-madrid
  • 然后,当使用 Kubernetes 中的网络访问凭证引用 secret 时,您可以将标签与 站点 键一起使用。设备模板中的以下字段支持占位符:

    Expand

    字段

    支持的占位符

    操作系统镜像

    仓库名称、镜像名称、镜像标签

    Git 配置提供程序

    目标修订,path

    HTTP 配置提供程序

    URL 后缀、路径

    内联配置提供程序

    内容,路径

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat