openstack中如何发放虚拟机与绑定浮动ip进行登陆 - 云计算
小编给大家分享一下openstack中如何发放虚拟机与绑定浮动ip进行登陆,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
一、使用基于openvswitch的flat网络连通外部网络
在测试环中,使用allinone部署的openstack,如果需要与外部物理网络通讯,则需要配置flat网路。在q版中,neutron服务默认使用openvswitch,而非使用linux bridge。
openvswitch支持五种网络类型,有gre,local,flat,vxlan和vlan类型,其中gre网络和vxlan比较类似,都是使用隧道模式。
local 网络:不会与宿主机的任何物理网卡连接,流量被限制在宿主机内,同时没有任何VLAN ID
flat 网络:不带有tag的网络,宿主机的网卡通过网桥与flat network连接,每个flat网络都占有一个物理网卡
vlan网络: 是带有tag的网络,在openvswitch的实现方式下,不同的vlan instance的虚拟网卡都会被接到br-int上
gre和vxlan网络:基于隧道技术的overlay network,建立在其他网络上的网络。
测试环境使用flat网络连接外部物理网络
首先在/etc/neutron/plugins/ml2/ml2_conf.ini中设置相关参数,指定普通用户网络类型为flat
vim /etc/neutron/plugins/ml2/ml2_conf.ini [ml2] tenant_network_types=flat #将tenaant_network_types修改为flat
因为使用packstack部署openstackallinone的时候,已经指明了flat网络与物理网络的对应关系。如果使用控制计算分离的部署,则需要修改配置文件指明对应关系,如:
[ml2_type_flat] flat_networks=default [ovs] bridge_mappings=default:br-ex #指定对应外部网桥br-ex
完成后,重启neutron网络服务
systemctl restart neutron-server
然后使用ovs-vsctl命令检查一下br-ex 配置
ovs-vsctl show
关于ovs-vswitch内部网络大致如下:
说明:
1、ens192是物理网卡(使用虚拟化vmware嵌套部署openstack,相对而言,本质还是虚拟网卡)
2、外部网桥br-ex配有ip地址,作为openstack登陆和发放虚拟机使用
3、发放的虚拟机首先需要需要通过neuntron提供的dhcp获取私网ip地址,然后通过router进行snat访问外网
二、浮动ip
DHCP服务器将专用IP地址分配给实例的网络接口。通过使用“ip a”之类的命令,可以在实例中看到该地址。该地址通常是专用网络的一部分,并且用于通过虚拟交换机(每个计算节点上的L2代理)在同一广播域中的实例之间进行通信。它也可以通过虚拟路由器(L3代理)从其他专用网络中的实例访问。
浮动IP地址是Neutron提供的服务。它不使用任何DHCP服务或在guest虚拟机中静态设置。事实上,客户的操作系统并不知道它被分配了一个浮动IP地址。使用指定的浮动地址将数据包传送到接口是Neutron的L3代理的责任。具有指定的浮动IP地址的实例可以通过浮动IP从公共网络访问。
OpenStack实例接收一个私有IP地址,通过该IP地址,它们可以相互联系并通过哪些主机可以访问它们。为了从网络中的其他计算机(例如工作站)访问这些实例,需要为实例分配“浮动IP”。Packstack会自动使用默认设置对您的网络进行错误配置。您需要使用一系列适合您网络的免费IP地址配置OpenStack安装。
简单说明:
1、外部网络配置flat网络,保证openstack 能够访问连通外部物理网络
2、浮动ip,就是可用的实际的物理ip地址范围,指虚拟机实例可以绑定的公网ip,在公有云中就是指弹性IP,本次测试环境则是对应的可用的物理地址范围,例如172.31.208.110。
在前面完成所有基础网络配置之后,在dashbord中看到网络拓扑
说明:
1、external_network对接的是外部物理网络,使用flat网络模式,172.31.208.0/24
2、路由器router是虚拟路由器,连接外部网络和虚拟网络
3、router上的一个接口对应的是外部物理网络的地址172.31.208.102,虚拟机实例将会在虚拟私有网络中使用snat,到外部网络网络,然后可以访问外网
4、router上的另一个接口对应的是虚拟私有网络,192.168.1.0/24,neutron的dhcp服务将分配地址给虚拟机实例
三、发放虚拟实例并绑定浮动ip
前期已经完成了外部网络配置,镜像上传等配置。
测试使用 浮动IP 172.31.208.110
租户项目cloud
租户管理员vdc_admin
3.1 分配浮动ip
以admin身份登陆dashbord,在管理员-网络-浮动IP中分配浮动ip172.31.208.110给项目cloud
可以分配多个浮动ip给项目,地址范围要在外部网络flat中配置的地址范围之内,点击分配浮动ip即可
3.2 创建虚拟机实例
以租户管理员vdc_admin登陆项目cloud,然后再计算中点击创建实例
前面已经说明如何创建实例,本次不再说明
成功创建后,开始绑定浮动ip
然后选择分配到的浮动ip
然后需要再网络-安全组中修改规则,入方向开放能够通过tcp 22端口,然后我们可以通过浮动IP进行ssh服务到虚拟机实例
这样便完成了浮动ip与实例的配置,此时可以通过浮动ip 172.31.208.110进行登陆
测试的虚拟机实例
用户名 cirros
密码 cubswin:)
然后可以看到可以访问实例同时可以访问外网
此时我们查看网络拓扑
四、绑定卷
此时测试实例只有一块硬盘,我们需要卷服务来生成云硬盘(evs)
创建一块10G大小卷作为云硬盘
然后我们绑定到实例上
绑定之后,卷作为云硬盘使用,还是一块虚拟的块设备,需要格式化挂载
sudo fdisk /dev/vdb sudo mkfs.ext3 /dev/vdb1 sudo mount /dev/vdb1 /var df -h
可以看到已经挂载上了
以上是“openstack中如何发放虚拟机与绑定浮动ip进行登陆”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注云行业资讯频道!
发布于:2023-01-18,除非注明,否则均为
原创文章,转载请注明出处。
发表评论