6.2. 查看设备
要获取有关清单中设备的更多信息,您可以使用 Red Hat Edge Manager CLI。
6.2.1. 在 Web UI 中查看设备清单和设备详情 复制链接链接已复制到粘贴板!
您可以在 Red Hat Edge Manager Web UI 中查看注册设备的详情,包括其状态和健康状况
先决条件
- 您必须安装 Red Hat Edge Manager CLI。请参阅安装 Red Hat Edge Manager CLI。
- 您必须至少注册一个设备。
流程
-
在导航面板中,选择
。这会打开 external Edge Manager 实例。 - 在导航面板中,选择" 设备 ",您可以在其中查看设备清单、详情和停用设备。
6.2.2. 在 CLI 中查看设备清单和设备详情 复制链接链接已复制到粘贴板!
完成以下步骤:
流程
运行以下命令,查看设备清单中的设备:
flightctl get devices
flightctl get devicesCopy to Clipboard Copied! Toggle word wrap Toggle overflow 请参见以下示例输出:
NAME ALIAS OWNER SYSTEM UPDATED APPLICATIONS LAST SEEN <device_name> <none> <none> Online Up-to-date <none> 3 seconds ago
NAME ALIAS OWNER SYSTEM UPDATED APPLICATIONS LAST SEEN <device_name> <none> <none> Online Up-to-date <none> 3 seconds agoCopy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令,以 YAML 格式查看该设备的详情:
flightctl get device/<device_name> -o yaml
flightctl get device/<device_name> -o yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 请参见以下示例输出:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
6.2.3. 标签和标签选择器 复制链接链接已复制到粘贴板!
您可以通过分配它们标签来组织资源,例如记录其位置、硬件类型或目的。Red Hat Edge Manager 标签遵循与 Kubernetes 标签和标签选择器相同的语法、原则和运算符。您可以在查看设备清单或将操作应用到设备时选择带有标签的设备。
标签采用 key=value 格式。您可以使用密钥对设备进行分组。例如,如果您的标签遵循 site=<location& gt; 命名约定,您可以根据站点对设备进行分组。您还可以使用仅包含键的标签。
标签必须遵循以下规则才能有效:
- 键和值必须是 63 个字符或更少。
-
键和值可由字母数字字符组成(
a-z、A-Z、0-9)。 -
键和值也可以包含短划线(
-)、下划线(_)、句点(.),但不能包含第一个或最后一个字符。 - 值可以被省略。
您可以使用以下方法将标签应用到设备:
- 在镜像构建期间定义一组默认标签,在部署过程中自动应用到所有设备。
- 在注册期间分配初始标签。
- 在注册后分配标签。
标记资源时,您可以通过创建标签选择器来选择设备子集。标签选择器是一个以逗号分隔的标签列表,用于选择具有相同标签的设备集。
请参见以下示例:
| 标签选择器示例 | 选择的设备 |
|---|---|
|
|
具有 |
|
|
具有 |
|
|
具有 |
如需有关标签和选择器的更多信息,请参阅 Kubernetes 文档中的 标签和选择器。
6.2.3.1. 在 Web UI 中查看设备及其标签 复制链接链接已复制到粘贴板!
在 Web UI 中查看设备及其关联的标签。您可以使用标签来组织设备和设备群。
完成以下步骤:
-
在导航面板中,选择
。这会打开 external Edge Manager 实例。 - 在导航面板中,选择 Devices。
- 选择您要管理的设备。在 Details 选项卡中,您可以在 Labels 下查看关联的标签。
6.2.3.2. 在 CLI 中查看设备及其标签 复制链接链接已复制到粘贴板!
查看设备及其关联的标签。您可以使用标签来组织设备和设备群。
完成以下步骤:
流程
使用
-o wide选项查看清单中的设备及其标签:flightctl get devices -o wide
flightctl get devices -o wideCopy to Clipboard Copied! Toggle word wrap Toggle overflow 请参见以下示例输出:
NAME ALIAS OWNER SYSTEM UPDATED APPLICATIONS LAST SEEN LABELS <device1_name> <none> <none> Online Up-to-date <none> 3 seconds ago region=eu-west-1,site=factory-berlin <device2_name> <none> <none> Online Up-to-date <none> 1 minute ago region=eu-west-1,site=factory-madrid
NAME ALIAS OWNER SYSTEM UPDATED APPLICATIONS LAST SEEN LABELS <device1_name> <none> <none> Online Up-to-date <none> 3 seconds ago region=eu-west-1,site=factory-berlin <device2_name> <none> <none> Online Up-to-date <none> 1 minute ago region=eu-west-1,site=factory-madridCopy to Clipboard Copied! Toggle word wrap Toggle overflow 使用
-l <key=value> 选项查看清单中的带有特定标签或一组标签的设备:flightctl get devices -l site=factory-berlin -o wide
flightctl get devices -l site=factory-berlin -o wideCopy to Clipboard Copied! Toggle word wrap Toggle overflow 请参见以下示例输出:
NAME ALIAS OWNER SYSTEM UPDATED APPLICATIONS LAST SEEN LABELS <device1_name> <none> <none> Online Up-to-date <none> 3 seconds ago region=eu-west-1,site=factory-berlin
NAME ALIAS OWNER SYSTEM UPDATED APPLICATIONS LAST SEEN LABELS <device1_name> <none> <none> Online Up-to-date <none> 3 seconds ago region=eu-west-1,site=factory-berlinCopy to Clipboard Copied! Toggle word wrap Toggle overflow
6.2.3.3. 更新 CLI 上的标签 复制链接链接已复制到粘贴板!
使用 CLI 更新设备上的标签。
完成以下步骤:
流程
运行以下命令,将设备的当前定义导出到文件中:
flightctl get device/<device1_name> -o yaml > my_device.yaml
flightctl get device/<device1_name> -o yaml > my_device.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 使用您的首选编辑器编辑
my_device.yaml文件。请参见以下示例:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令保存文件并应用更新的设备定义:
flightctl apply -f my_device.yaml
flightctl apply -f my_device.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下示例输出来验证您的更改:
NAME ALIAS OWNER SYSTEM UPDATED APPLICATIONS LAST SEEN LABELS <device1_name> <none> <none> Online Up-to-date <none> 3 minutes ago some_key=some_value,some_other_key=some_other_value <device2_name> <none> <none> Online Up-to-date <none> 4 minutes ago region=eu-west-1,site=factory-madrid
NAME ALIAS OWNER SYSTEM UPDATED APPLICATIONS LAST SEEN LABELS <device1_name> <none> <none> Online Up-to-date <none> 3 minutes ago some_key=some_value,some_other_key=some_other_value <device2_name> <none> <none> Online Up-to-date <none> 4 minutes ago region=eu-west-1,site=factory-madridCopy to Clipboard Copied! Toggle word wrap Toggle overflow
6.2.4. 字段选择器 复制链接链接已复制到粘贴板!
字段选择器根据特定资源字段值过滤 Red Hat Edge Manager 资源列表。它们遵循与 Kubernetes 字段和标签选择器相同的语法、原则和运算符,其他运算符可用于更高级的搜索用例。
6.2.4.1. 支持的字段 复制链接链接已复制到粘贴板!
Red Hat Edge Manager 资源提供了一组您可以选择的元数据字段。
每个资源支持以下元数据字段:
-
metadata.name -
metadata.owner -
metadata.creationTimestamp
要查询标签,请使用 Label Selectors 进行高级且灵活的标签过滤。
如需更多信息,请参阅 标签和标签选择器。
6.2.4.2. 其他支持的字段列表 复制链接链接已复制到粘贴板!
除了元数据字段外,每个资源都有自己的唯一字段集合,您可以根据特定于资源的属性对过滤和选择提供更大的灵活性。
下表列出了为每个资源类型过滤支持的字段:
| Kind | 字段 |
|---|---|
| 证书签名请求 |
|
| device |
|
| 注册请求 |
|
| fleet |
|
| 软件仓库 |
|
| 资源同步 |
|
6.2.4.3. 字段发现 复制链接链接已复制到粘贴板!
有些 Red Hat Edge Manager 资源可能会公开额外的支持字段。您可以使用带有-- field-selector 选项的 flightctl 来发现支持的字段。如果您尝试使用 unsupported 字段,错误消息列出了可用的支持字段。
请参见以下示例:
flightctl get device --field-selector='text'
flightctl get device --field-selector='text'
Error: listing devices: 400, message: unknown or unsupported selector: unable to resolve selector name "text". Supported selectors are: [metadata.alias metadata.creationTimestamp metadata.name metadata.nameoralias metadata.owner status.applicationsSummary.status status.lastSeen status.summary.status status.updated.status]
Error: listing devices: 400, message: unknown or unsupported selector: unable to resolve selector name "text". Supported selectors are: [metadata.alias metadata.creationTimestamp metadata.name metadata.nameoralias metadata.owner status.applicationsSummary.status status.lastSeen status.summary.status status.updated.status]
字段 文本 不是用于过滤的有效字段。错误消息提供了可用于 Device 资源的 with -field-selector 的受支持字段列表。
然后,您可以使用其中一个支持的字段:
flightctl get devices --field-selector 'metadata.alias contains cluster'
flightctl get devices --field-selector 'metadata.alias contains cluster'
metadata.alias 字段使用 包含 运算符进行检查,以查看它是否具有值 cluster。
示例
示例 1:按名称退出特定设备
以下命令根据其名称过滤出特定设备:
flightctl get devices --field-selector 'metadata.name!=c3tkb18x9fw32fzx5l556n0p0dracwbl4uiojxu19g2'
flightctl get devices --field-selector 'metadata.name!=c3tkb18x9fw32fzx5l556n0p0dracwbl4uiojxu19g2'
示例 2:按所有者、标签和创建时间戳过滤
此命令检索由 Fleet/pos-fleet 拥有的设备(位于 us 地区),并在 2024 年创建:
flightctl get devices --field-selector 'metadata.owner=Fleet/pos-fleet, metadata.creationTimestamp >= 2024-01-01T00:00:00Z, metadata.creationTimestamp < //2025-01-01T00:00:00Z' -l 'region=us'
flightctl get devices --field-selector 'metadata.owner=Fleet/pos-fleet, metadata.creationTimestamp >= 2024-01-01T00:00:00Z, metadata.creationTimestamp < //2025-01-01T00:00:00Z' -l 'region=us'
示例 3:按所有者、标签和设备状态过滤
此命令检索 Fleet/pos-fleet 拥有的设备,位于 us 区域,并且 status.updated.status 为 Unknown 或 OutOfDate :
flightctl get devices --field-selector 'metadata.owner=Fleet/pos-fleet, status.updated.status in (Unknown, OutOfDate)' -l 'region=us'
flightctl get devices --field-selector 'metadata.owner=Fleet/pos-fleet, status.updated.status in (Unknown, OutOfDate)' -l 'region=us'
6.2.4.4. 支持的 Operator 复制链接链接已复制到粘贴板!
| Operator | 符号 | 描述 |
|---|---|---|
| Exists |
| 检查字段是否存在 |
| DoesNotExist |
| 检查字段是否不存在 |
| 等于 |
| 检查字段是否等于值 |
| DoubleEquals |
| 另一种形式的相等检查 |
| NotEquals |
| 检查字段是否不等于值 |
| GreaterThan |
| 检查字段是否大于一个值 |
| GreaterThanOrEquals |
| 检查字段是否大于或等于值 |
| LessThan |
| 检查字段是否小于一个值 |
| LessThanOrEquals |
| 检查字段是否小于或等于一个值 |
| In |
| 检查字段是否位于值列表中 |
| NotIn |
| 检查字段是否不在值列表中 |
| contains |
| 检查字段是否有值 |
| NotContains |
| 检查字段是否包含值 |
6.2.4.4.1. 根据字段类型的 Operator 使用 复制链接链接已复制到粘贴板!
每个字段类型支持特定的 Operator 子集:
| 字段类型 | 支持的 Operator | value |
|---|---|---|
| 字符串 |
| 文本字符串 |
| timestamp |
| RFC 3339 格式 |
| number |
less
| 数字格式 |
| 布尔值 |
注意
该列表只能包含
|
布尔值格式( |
| 数组 |
如果字段不存在,则 注意
使用 | 数组元素 |