在 Contrail 中对链路本地服务进行故障排除
当您使用 Contrail 链路本地服务时,请使用本主题中的故障排除步骤和指南。
链路本地服务概述
可以将虚拟机设置为访问交换矩阵基础架构上托管的特定服务。例如,虚拟机可能是 Nova 客户端,需要访问交换矩阵网络中运行的 Nova API 服务。通过将交换矩阵网络上托管的服务配置为链路本地服务,可以提供对这些服务的访问。
为在交换矩阵中服务器上的 TCP/UDP 端口上运行的特定服务选择链路本地地址和服务端口。配置链路本地服务后,虚拟机可以使用链路本地地址访问服务。对于链路本地服务,Contrail 使用地址范围 169.254.169.x。
可以使用 Contrail WebUI: 配置>基础架构>链路本地服务来配置链路本地服务。

链路本地服务的故障排除过程
在对链路本地服务错误进行故障排除时,请使用以下步骤。
元数据服务
OpenStack 允许虚拟实例通过向链路本地地址 169.254.169.254 发送 HTTP 请求来访问元数据。来自实例的元数据请求代理到 Nova,并添加了其他 HTTP 标头字段,Nova 使用这些字段来标识源实例。然后 Nova 使用适当的元数据进行响应。
Contrail 虚拟路由器充当代理,捕获元数据请求,添加必要的标头字段,并将请求发送到 Nova API 服务器。
链路本地元数据服务的故障排除过程
元数据服务也是一种链路本地服务,具有固定的服务名称(元数据)、固定的服务地址 (169.254.169.254:80) 和指向运行 OpenStack Nova API 服务器的服务器的交换矩阵地址。Contrail 链路本地服务的所有配置和故障排除过程也适用于元数据服务。
但是,对于元数据服务,流始终设置为计算节点,因此 vrouter 代理将更新和代理 HTTP 请求。虚拟路由器代理侦听本地端口以接收元数据请求。因此,反向流将计算节点作为源 IP,代理侦听的本地端口是源端口,实例的元数据 IP 是目标 IP 地址。
在执行链路本地服务的所有故障排除过程后,可以使用以下附加步骤进一步对元数据服务进行故障排除。