Openstack 中的 vRouter 在哪里?

Openstack 中的 vRouter 在哪里?

所以这听起来像是一个哲学存在问题……但我想知道……如果我有一个堆栈,其中有一堆虚拟机都在我环境中的计算节点上。并且我为一个特定网络创建一个 vRouter 用作网关……该 vRouter 位于哪里?它在 Neutron 控制器节点之一上吗?还是在具有该 vRouter 网络接口的计算节点上?如果 vRouter 停止服务的节点,连接会丢失吗?有没有办法将 vRouter 从一个节点移动到另一个节点?

答案1

我不确定,但既然没有其他人回答,我就试一试。如果我错了,坎宁安定律应该可以解决它。

我很确定路由器是一个由中子管理的桥接接口(虚拟和物理)和 iptables 的集合,运行在您的一个网络节点上(可能是与您的计算节点相同的硬件)。

无论网络和计算是否是同一硬件,Neutron 都会使用 ml2 驱动程序(对我来说是 Train 上的 openvswitch)将数据包从 VM 发送到网络节点。Neutron 将为路由器分配一个“公共”IP,并使用 iptables 来处理 NAT。

我不知道如何手动将路由器从一个网络节点移动到另一个网络节点。kolla_enable_neutron_agent_ha不过,我在 Kayobe/Kolla-Ansible 中打开了该标志,当我请求路由器时,我看到构建了 2 个路由器代理。我敢打赌,如果带有路由器的节点发生故障,将在另一个网络节点上自动构建一个新的路由器来替换它。

我希望这能有所帮助,并且我没有给你提供一堆错误的信息。

相关内容