|
本文档采用自动化机器翻译技术翻译。 尽管我们力求提供准确的译文,但不对翻译内容的完整性、准确性或可靠性作出任何保证。 若出现任何内容不一致情况,请以原始 英文 版本为准,且原始英文版本为权威文本。 |
标签模板概述
Elemental允许在`spec.machineInventoryLabels`和`spec.machineInventoryAnnotations`部分指定_标签模板_,这些部分属于机器注册资源。
它们的格式是Kubernetes标签和注释中使用的规范`key`:value。
生成的标签和注释具有与标签模板相同的`key`。
相关的`value`被生成:
-
渲染
label template variables(如果存在) -
*
sanitizing*生成的值(仅在标签的情况下)
标签模板的变量
Elemental标签模板包括一组预定义变量,可在机器注册中指定的`value`的_标签模板_内部使用。
用于指定标签模板变量的语法是:
${ VARFAMILY \/ VARPATH }
其中_VARFAMILY_定义了一组(家族)支持的变量,而_VARPATH_定义了属于该家族组的实际变量名称。
Elemental当前支持以下_模板变量家族_:
|
所有的 模板变量家族(但 `Random`)仅在 机器注册 的 当 随机 变量始终可用,因为它们是在操作员端内置的。它们也很特别,因为它们只计算一次:有关更多详细信息,请参见 随机模板变量 部分。 |
模板变量可以与静态文本混合,以形成分配给 (机器清单) 的实际标签。
|
渲染示例
|
清理
一旦标签模板值根据包含的 标签模板变量 渲染,结果值为 sanitized,然后分配给结果标签。
该 sanitization 强制标签值仅包含字母(无论大小写)、数字以及连字符 (-)、点 (.) 和下划线 (_) 字符:
所有未包含的字符都将被替换为连字符。
标签值的开头和结尾必须是字母或数字。如果不是,则会被删除。
两个连续的连字符将被替换为一个。
|
渲染示例
|
标签模板的使用
标签模板允许在每次主机注册到元素操作员时,自动附加和更新每个主机的 机器清单 的标签和注释。
基本上有三种主要情况,标签模板可以派上用场:
-
将硬件数据附加到元素目录。
-
添加选择器以选择主机进行集群配置。
-
为机器名称定义自定义模板。
集群配置选择器
Label Templates 可用于生成标签,以识别和选择具有特殊硬件属性的机器,从而形成新的 Kubernetes 集群。
附加到每个 机器清单 的标签可以用于 选择器,以便于 机器库存选择器模板 资源(有关更多详细信息,请参见 Kubernetes 集群配置 部分)。
自定义机器名称
可以使用 机器注册 spec.machineName 字段指定入驻机器的主机名。
spec.machineName 值经过与 Label Templates' variables 和 sanitization 字段相同的处理,专用于 spec.machineInventoryLabels 字段。
有关如何为 Elemental 主机定义主机名的更多信息,请参见 如何/自定义主机名 部分。
|
渲染示例
|