Contrail 中的链路本地服务疑难解答
当您在使用 Contrail 链路本地服务时遇到错误时,请使用本主题中的故障排除步骤和指南。
链路本地服务概述
可以将虚拟机设置为访问交换矩阵基础架构上托管的特定服务。例如,虚拟机可能是需要访问在交换矩阵网络中运行的 Nova API 服务的 Nova 客户端。通过将服务配置为链路本地服务,可以提供对交换矩阵网络上托管服务的访问。
为在结构中服务器上的 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 链路本地服务的所有配置和故障排除过程也适用于元数据服务。
但是,对于元数据服务,流始终设置为计算节点,因此虚拟路由器代理将更新和代理 HTTP 请求。虚拟路由器代理侦听本地端口以接收元数据请求。因此,反向流将计算节点作为源 IP,代理侦听的本地端口是源端口,实例的元数据 IP 是目标 IP 地址。
执行链路本地服务的所有故障排除过程后,可以使用以下附加步骤进一步对元数据服务进行故障排除。