将 instance 连接到 first_local_net - 每天5分钟玩转 OpenStack(82)

Posted CloudMan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将 instance 连接到 first_local_net - 每天5分钟玩转 OpenStack(82)相关的知识,希望对你有一定的参考价值。

技术分享

上一节 first_local_net 已经就绪,下面创建 instance 并将其连接到该网络。

将 instance 连接到 first_local_net

launch 一个 instance,在“Networking”标签页面选择 first_local_net 网络。

技术分享

instance 部署成功,分配的 IP 地址为 172.16.1.3

技术分享

底层网络发生了什么变化?

对于 instance “cirros-vm1”,Neutron 会在 subnet 中创建一个 port,分配 IP 和 MAC 地址,并将 port 分配给 cirros-vm1。

技术分享

如上图所示,port 列表中增加了一个 port “(fa7e090e-a29c)”,IP 为 172.16.1.3。 点击 port 名称查看 MAC 信息:

技术分享

当 cirros-vm1 启动时: 1. 宿主机上的 neutron-linuxbridge-agent 会根据 port 信息创建 tap 设备,并连接到 local 网络所在的 bridge 2. 同时该 tap 会映射成 cirros-vm1 的虚拟网卡,即 virtual interface (VIF)。

下面我们验证一下以上信息:

cirros-vm1 部署到了控制节点,通过 brctl show 查看 bridge 的配置。

技术分享

可以看到 bridge brqbb9b6d21-c6 上连接了一个新的 tap 设备 tapfa7e090e-a2 从命名上可知 tapfa7e090e-a2 对应着 port “(fa7e090e-a29c)”。

virsh list 中显示的虚拟机 instance-00000001 即为 “cirros-vm1”,命名方式有所不同,需注意。 通过 virsh edit 命令查看 cirros-vm1 的配置,确认 VIF 就是 tapfa7e090e-a2

技术分享

另外,VIF 的 MAC 地址为 fa:16:3e:c1:66:a5,这个数据就是从 port “(fa7e090e-a29c)” 取过来的。

在 cirros-vm1 中执行 ifconfig,通过 MAC 地址可以确认 eth0 与 tapfa7e090e-a2 对应。

技术分享

下图展示了创建 cirros-vm1 后宿主机当前的网络结构。

技术分享

下一节我们将部署第二个 instance 到 first_local_net 并验证两个 instance 之间的连通性。

 

技术分享

以上是关于将 instance 连接到 first_local_net - 每天5分钟玩转 OpenStack(82)的主要内容,如果未能解决你的问题,请参考以下文章

将 instance 连接到 vlan100- 每天5分钟玩转 OpenStack(95)

如何将变量传递/连接到`aws_instance`资源中的`data.aws_ami`部分

将 instance 连接到 first_local_net - 每天5分钟玩转 OpenStack(82)

将 Chiba xForm 连接到一个 RESTful Web 服务(存在 db)

如何将 redshift 数据库连接到在 ec2 实例上运行的 bash 脚本

如何将 datastax 开发中心连接到亚马逊 EC2 实例中的远程集群?