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

© 2026 Red Hat
返回顶部