NSX Advanced Load Balancer 配置中的每个对象分配了唯一的标识。不同租户中的多个对象可以具有相同的名称。例如,多个租户可以具有一个名为“web”的虚拟服务。要自动与 NSX Advanced Load Balancer 进行交互(特别是通过 API),了解如何获取对象(例如虚拟服务)的 UUID 是非常有用的。本主题介绍了使用 API、CLI 和 UI 查找对象 UUID 的步骤。

例如,建议在 API 调用中设置租户标头 (X-Avi-Tenant),以便控制器可以将名称解析为正确的租户。在 SDK 和 API 指南中提供了有关插入标头的详细信息。

通过 API 查找 UUID

https://10.1.1.1/api/virtualservice?name=FTP-VS&fields=uuid

通过 GUI 查找 UUID

单击虚拟服务。

由于 GUI 在 NSX Advanced Load Balancer Controller 上执行 API 调用,因此,将在 URL 中反映 UUID。

https://10.1.1.1/#/authenticated/applications/virtualservice/virtualservice-0523452d-c301-4817-a5e0-ee66b95bd287/analytics?timeframe=6h

通过 CLI 查找 UUID

: > show virtualservice FTP-VS
+---------------------------+-----------------------------------------------------+
| Field                     | Value                                               |
+---------------------------+-----------------------------------------------------+
| uuid                      | virtualservice-0523452d-c301-4817-a5e0-ee66b95bd287 |
| name                      | FTP-VS                                              |
| address                   | swapnil2                                            |
| ip_address                | 10.130.129.14                                       |

按名称引用对象

对于在 NSX Advanced Load Balancer 中创建的对象,可以通过名称而不是 UUID 引用对象。不过,有些对象(例如子网)在 NSX Advanced Load Balancer 外部创建并推送到控制器(例如通过 OpenStack)。对于这些对象,API 调用必须通过其 UUID(而不是名称)引用它们。因此,通常认为最佳做法是,让 API 调用引用对象 UUID 而不是名称。