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 而不是名称。