openstack虚拟机实例创建并实现与外部网络通信流程

openstack虚拟机实例创建并实现与外部网络通信流程。小编来告诉你更多相关信息。openstack虚拟机实例创建并实现与外部网络通信流程小编带来的是openstack虚拟机实例创建并实现与外部网络通信流程的相关知识

openstack虚拟机实例创建并实现与外部网络通信流程。小编来告诉你更多相关信息。

openstack虚拟机实例创建并实现与外部网络通信流程

小编带来的是openstack虚拟机实例创建并实现与外部网络通信流程的相关知识,相关内容具体如下:

1.准备镜像文件

镜像是创建虚拟机实例的基础,这里先准备两个镜像文件:

1.1下载cirros镜像文件

cirros官网下载最新的镜像文件

http://download.cirros-cloud.net/0.6.2/cirros-0.6.2-x86_64-disk.img

openstack虚拟机实例创建并实现与外部网络通信流程

1.2下载fedora镜像文件

fedora项目镜像文件下载地址为:

https://fedoraproject.org/cloud/download

openstack虚拟机实例创建并实现与外部网络通信流程

1.3上传cirros镜像

以云管理员admin身份登录OpenStack

左侧管理员–>计算–>镜像–>创建镜像

openstack虚拟机实例创建并实现与外部网络通信流程

输入镜像名称–>浏览本地镜像文件–>指定镜像格式–>指定镜像共享为公有–>然后点击创建镜像

openstack虚拟机实例创建并实现与外部网络通信流程。小编来告诉你更多相关信息。

openstack虚拟机实例创建并实现与外部网络通信流程

openstack虚拟机实例创建并实现与外部网络通信流程

创建镜像成功:

openstack虚拟机实例创建并实现与外部网络通信流程

1.4上传fedora镜像文件

这里以demo的身份登录系统,进行上传操作,这里将镜像可见性设置为私有,也就是该镜像只为demo项目提供服务,不向其他项目提供:

openstack虚拟机实例创建并实现与外部网络通信流程

完成后,可以在镜像列表中查看到两个镜像文件:

openstack虚拟机实例创建并实现与外部网络通信流程。小编来告诉你更多相关信息。

openstack虚拟机实例创建并实现与外部网络通信流程

openstack虚拟机实例创建并实现与外部网络通信流程

2.查看实例类型

以云管理员admin的身份登录系统,其他用户无权查看该选项:

管理员–>计算–>实例类型

openstack虚拟机实例创建并实现与外部网络通信流程

可以看到默认为5个实例类型。

3.查看网络

不同的项目可以使用的网络不完全相同,这里以demo身份登录系统:

项目–>网络–>网络

显示出当前网络列表,由于当前只能用private网络,所以public网络的信息不可见:

openstack虚拟机实例创建并实现与外部网络通信流程

4.添加安全组规则

安全组中的规则用于控制被关联的实例的网络通信,每个项目可以定义自己的安全组,然后将虚拟机关联到安全组。

这里先查看默认安全组规则:

项目–>网络–>安全组–>管理规则

openstack虚拟机实例创建并实现与外部网络通信流程。小编来告诉你更多相关信息。

openstack虚拟机实例创建并实现与外部网络通信流程

openstack虚拟机实例创建并实现与外部网络通信流程

openstack虚拟机实例创建并实现与外部网络通信流程

由于后面实验中需要用到外部网络通过SSH登录虚拟机,同时用ping工具测试连通性,所以下面添加规则

openstack虚拟机实例创建并实现与外部网络通信流程

openstack虚拟机实例创建并实现与外部网络通信流程。小编来告诉你更多相关信息。

openstack虚拟机实例创建并实现与外部网络通信流程

openstack虚拟机实例创建并实现与外部网络通信流程

以上两条规则完成后,如下:

openstack虚拟机实例创建并实现与外部网络通信流程

5.添加密钥对

密钥对是虚拟机实例启动时被注入镜像中的SSH凭据,每个项目可以定义自己的密钥对。

同样,以demo身份登录系统,然后根据左侧导航:

项目–>计算–>密钥对

openstack虚拟机实例创建并实现与外部网络通信流程

可以看出,目前项目中密钥对为空。

要采用SSH方式以证书凭据方式登录虚拟机实例,就需要创建或导入密钥对,并在创建虚拟机实例时关联对应密钥对。

点击创建密钥对,进行创建:

openstack虚拟机实例创建并实现与外部网络通信流程。小编来告诉你更多相关信息。

openstack虚拟机实例创建并实现与外部网络通信流程

openstack虚拟机实例创建并实现与外部网络通信流程

同时下载到本地一个mydemo-key.pem的私钥文件。

创建的新的密钥对文件列表如下:

openstack虚拟机实例创建并实现与外部网络通信流程

6.创建虚拟机实例

上在工作完成后,下面就可以创建虚拟机实例。这里还是以demo身份登录系统进行创建:

项目–>计算–>实例–>创建实例

openstack虚拟机实例创建并实现与外部网络通信流程

6.1设置实例名称和数量

openstack虚拟机实例创建并实现与外部网络通信流程。小编来告诉你更多相关信息。

openstack虚拟机实例创建并实现与外部网络通信流程

openstack虚拟机实例创建并实现与外部网络通信流程

6.2设置实例源

openstack虚拟机实例创建并实现与外部网络通信流程

6.3设置实例类型

openstack虚拟机实例创建并实现与外部网络通信流程

6.4选择网络选项

openstack虚拟机实例创建并实现与外部网络通信流程。小编来告诉你更多相关信息。

openstack虚拟机实例创建并实现与外部网络通信流程

openstack虚拟机实例创建并实现与外部网络通信流程

6.5选择安全组

openstack虚拟机实例创建并实现与外部网络通信流程

6.6选择密钥对选项

openstack虚拟机实例创建并实现与外部网络通信流程

6.7其他选项保持默认

在保持其他选项不变,然后点击创建实例

openstack虚拟机实例创建并实现与外部网络通信流程。小编来告诉你更多相关信息。

openstack虚拟机实例创建并实现与外部网络通信流程

openstack虚拟机实例创建并实现与外部网络通信流程

从而完成实例的创建。

7.创建第二个虚拟机实例

同第一个实例创建方法一样,这里只是注意卷大小的选择,根据镜像和系统文件大小来选择,另外,就是实例类型,根据需要选择合适的实例类型:

openstack虚拟机实例创建并实现与外部网络通信流程

openstack虚拟机实例创建并实现与外部网络通信流程

其他保持默认,然后点击创建实例,完成实例的创建,如下:

openstack虚拟机实例创建并实现与外部网络通信流程。小编来告诉你更多相关信息。

openstack虚拟机实例创建并实现与外部网络通信流程

openstack虚拟机实例创建并实现与外部网络通信流程

8.操作和使用虚拟机实例

如下图,先进入控制台对虚拟机进行操作:

openstack虚拟机实例创建并实现与外部网络通信流程

openstack虚拟机实例创建并实现与外部网络通信流程

点击概况,可以查看虚拟机实例的配置情况:

openstack虚拟机实例创建并实现与外部网络通信流程。小编来告诉你更多相关信息。

openstack虚拟机实例创建并实现与外部网络通信流程

openstack虚拟机实例创建并实现与外部网络通信流程

9.配置虚拟机实例与外部网络通信

网络是OpenStack非常重要的资源之一,没有网络,虚拟机实例将被完全隔绝。

RDO一体化OpenStack云平台默认已配置了虚拟网络,但是由于没有针对实际环境进行配置,即使分配浮动IP地址,创建的虚拟机实例也不能与外部网络通信。

此时,通过修改相关配置来定制网络,即可实现虚拟机实例与外部网络之间的通信。

OpenStack的虚拟机实例拥有一个私有IP地址,通过该地址,它们可以在内部网络中相互访问,要从外部网络的其他计算机访问这些实例,需要为实例分配浮动IP地址。

9.1将OpenStack主机网卡添加到br-ex网桥上

先查看OpenStack主机的网络接口信息:

[root@mynode-a ~]# ip a1: lo:  mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00    inet 127.0.0.1/8 scope host lo       valid_lft forever preferred_lft forever    inet6 ::1/128 scope host        valid_lft forever preferred_lft forever2: eth0:  mtu 1500 qdisc pfifo_fast state UP group default qlen 1000    link/ether 52:54:00:bb:d5:35 brd ff:ff:ff:ff:ff:ff    inet 192.168.250.250/24 brd 192.168.250.255 scope global eth0       valid_lft forever preferred_lft forever    inet6 fe80::5054:ff:febb:d535/64 scope link        valid_lft forever preferred_lft forever3: ovs-system:  mtu 1500 qdisc noop state DOWN group default qlen 1000    link/ether 16:91:e1:b4:7c:4b brd ff:ff:ff:ff:ff:ff4: br-ex:  mtu 1500 qdisc noop state DOWN group default qlen 1000    link/ether 7e:27:21:cc:2d:40 brd ff:ff:ff:ff:ff:ff5: br-int:  mtu 1442 qdisc noop state DOWN group default qlen 1000    link/ether 9a:df:16:e1:29:4f brd ff:ff:ff:ff:ff:ff6: tap725a7e8c-b4:  mtu 1442 qdisc pfifo_fast master ovs-system state UNKNOWN group default qlen 1000    link/ether fe:16:3e:fc:f5:47 brd ff:ff:ff:ff:ff:ff    inet6 fe80::fc16:3eff:fefc:f547/64 scope link        valid_lft forever preferred_lft forever7: tapad9cc827-30@if2:  mtu 1500 qdisc noqueue master ovs-system state UP group default qlen 1000    link/ether b6:1c:e1:31:01:0d brd ff:ff:ff:ff:ff:ff link-netnsid 0    inet6 fe80::b41c:e1ff:fe31:10d/64 scope link        valid_lft forever preferred_lft forever8: tap5f3da2e4-3a:  mtu 1442 qdisc pfifo_fast master ovs-system state UNKNOWN group default qlen 1000    link/ether fe:16:3e:92:da:e9 brd ff:ff:ff:ff:ff:ff    inet6 fe80::fc16:3eff:fe92:dae9/64 scope link        valid_lft forever preferred_lft forever[root@mynode-a ~]# 

openstack虚拟机实例创建并实现与外部网络通信流程

如上,其中eth0是主机网卡,以br开头的是网桥。

接着查看主机上当前的网桥:

[root@mynode-a ~]# ovs-vsctl list-brbr-exbr-int[root@mynode-a ~]# 

可以看到目前主机已经有两个网桥,其中br-ex是外部网桥,br-int是集成网桥。

用下面命令查看br-ex网桥端口:

[root@mynode-a ~]# ovs-vsctl list-ports br-expatch-provnet-3391f33e-a5ff-4066-83fd-633340ea4339-to-br-int[root@mynode-a ~]# 

可以看到,该网桥只有一个连接集成网桥br-intpatch端口,没有端口连接到openstack主机上的外部网络接口,因此当前openstack云平台上的虚拟机实例无法与外部网络进行通信。

解决的办法是将OpenStack主机上的网卡作为一个端口添加到br-ex网桥上

Open vSwitch会生成一个普通端口来处理此网卡的数据包。但是以这种方式实现的配置在开机后会丢失,可以改用网卡配置文件来实现。

1)复制网卡ifcfg-eth0文件

[root@mynode-a network-scripts]# cp ifcfg-eth0 ifcfg-br-ex[root@mynode-a network-scripts]# 

2)修改ifcfg-br-ex文件

[root@mynode-a network-scripts]# vim ifcfg-br-exTYPE=OVSBridge             # 将TYPE值修改为OVSBridgeDEVICETYPE=ovs             # 添加DEVICETYPE,值为ovsPROXY_METHOD=noneBROWSER_ONLY=noBOOTPROTO=noneDEFROUTE=yesIPV4_FAILURE_FATAL=noIPV6INIT=yesIPV6_AUTOCONF=yesIPV6_DEFROUTE=yesIPV6_FAILURE_FATAL=noIPV6_ADDR_GEN_MODE=stable-privacyNAME=br-ex               # NAME值为br-exUUID=45242253-7348-405e-946a-40e72803e0caDEVICE=br-ex             #DEVICE值为br-exONBOOT=yesIPADDR=192.168.250.250PREFIX=24GATEWAY=192.168.250.1DNS1=222.222.222.222PEERDNS=no

openstack虚拟机实例创建并实现与外部网络通信流程

3)修改ifcfg-eth0文件

删除相关信息,配置完成后,用cat命令查看:

[root@mynode-a network-scripts]# cat ifcfg-eth0TYPE=OVSPortNAME=eth0DEVICE=eth0ONBOOT=yesDEVICETYPE=ovsOVS_BRIDGE=br-ex[root@mynode-a network-scripts]# 

4)重启网络服务

为了使当前配置生效,需重启网络服务:

[root@mynode-a network-scripts]# systemctl restart network

此时,再查看网络配置信息:

[root@mynode-a /]# ip a1: lo:  mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00    inet 127.0.0.1/8 scope host lo       valid_lft forever preferred_lft forever    inet6 ::1/128 scope host        valid_lft forever preferred_lft forever2: eth0:  mtu 1500 qdisc pfifo_fast master ovs-system state UP group default qlen 1000    link/ether 52:54:00:bb:d5:35 brd ff:ff:ff:ff:ff:ff    inet6 fe80::5054:ff:febb:d535/64 scope link        valid_lft forever preferred_lft forever3: ovs-system:  mtu 1500 qdisc noop state DOWN group default qlen 1000    link/ether 16:91:e1:b4:7c:4b brd ff:ff:ff:ff:ff:ff4: br-ex:  mtu 1500 qdisc noqueue state UNKNOWN group default qlen 1000    link/ether 7e:27:21:cc:2d:40 brd ff:ff:ff:ff:ff:ff    inet 192.168.250.250/24 brd 192.168.250.255 scope global br-ex       valid_lft forever preferred_lft forever    inet6 fe80::7c27:21ff:fecc:2d40/64 scope link        valid_lft forever preferred_lft forever5: br-int:  mtu 1442 qdisc noop state DOWN group default qlen 1000    link/ether 9a:df:16:e1:29:4f brd ff:ff:ff:ff:ff:ff6: tap725a7e8c-b4:  mtu 1442 qdisc pfifo_fast master ovs-system state UNKNOWN group default qlen 1000    link/ether fe:16:3e:fc:f5:47 brd ff:ff:ff:ff:ff:ff    inet6 fe80::fc16:3eff:fefc:f547/64 scope link        valid_lft forever preferred_lft forever7: tapad9cc827-30@if2:  mtu 1500 qdisc noqueue master ovs-system state UP group default qlen 1000    link/ether b6:1c:e1:31:01:0d brd ff:ff:ff:ff:ff:ff link-netnsid 0    inet6 fe80::b41c:e1ff:fe31:10d/64 scope link        valid_lft forever preferred_lft forever8: tap5f3da2e4-3a:  mtu 1442 qdisc pfifo_fast master ovs-system state UNKNOWN group default qlen 1000    link/ether fe:16:3e:92:da:e9 brd ff:ff:ff:ff:ff:ff    inet6 fe80::fc16:3eff:fe92:dae9/64 scope link        valid_lft forever preferred_lft forever

可以看出,外部网桥br-ex获得源eth0网卡的IP地址192.168.250.250,而eth0网卡作为该网桥上的一个端口后,可以没有IP地址。

9.2调整网络配置

RDO一体化OpenStack云平台默认配置了一个内部网络、一个外部网络和一个路由器

云管理员可以查看所有网络配置,以admin身份登录系统:

管理员–>网络–>网络

可以看出默认系统一个外部网络(public)和一个内部网络(private):

本文内容由互联网用户自发贡献,该文观点仅代表作者本人,本站仅供展示。如发现本站有涉嫌抄袭侵权/违法违规的内容,请发送邮件至 97552693@qq.com 举报,一经查实,本站将立刻删除。

给TA打赏
共{{data.count}}人
人已打赏
手机

win10常见的网络端口大全有哪些

2024-1-10 18:29:52

手机

域名解析API介绍(深入了解域名解析API)

2024-1-10 18:34:14

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索