1、OpenStack使用初体验:

登录成功后,先检查项目,看看是否有demo,初次使用,不研究多租户的问题,直接使用当前项目测试。

1.1设置内网子网

点击网络,如果有安装demo,那么public网络应该已经自动设置好,这个时候手动创建私有网络。

注意openstack的内网,是有多租户的概念的。每个租户可以自行创建内网子网,用于同一个租户的虚拟机之间通信的。

而openstack的外网,需要admin才能创建,然后可以用于不同租户之间的通信,以及与openstack之外进行通信,而不是公网IP的意思。

(本篇暂时没有对多租户进行测试)

openstack二次开发用什么语言 openstack开发教程_网络

openstack二次开发用什么语言 openstack开发教程_openstack二次开发用什么语言_02

设置子网IP地址段。

openstack二次开发用什么语言 openstack开发教程_网络_03

如果需要在openstack内创建的虚拟机访问外网域名,还需要添加DNS服务器,否则无法解析域名。

openstack二次开发用什么语言 openstack开发教程_网络_04

1.2设置路由规则

创建完成后点击路由,添加路由规则。

openstack二次开发用什么语言 openstack开发教程_运维_05


创建路由条目的名称(此处开始其实是SDN的技术,软件定义网络,采用软件控制网络路由与安全策略)

openstack二次开发用什么语言 openstack开发教程_IP_06

点击创建的条目名称。

openstack二次开发用什么语言 openstack开发教程_外网_07

进入条目后,增加接口。

openstack二次开发用什么语言 openstack开发教程_运维_08

设置子网的网关(一般.1或者.254)

openstack二次开发用什么语言 openstack开发教程_openstack二次开发用什么语言_09

点击网络拓扑,可以看到内网网关地址已经和外网IP地址做好映射了。

openstack二次开发用什么语言 openstack开发教程_openstack二次开发用什么语言_10


1.3设置网络安全策略

添加安全组,然后建立规则。

openstack二次开发用什么语言 openstack开发教程_运维_11

openstack二次开发用什么语言 openstack开发教程_IP_12

openstack二次开发用什么语言 openstack开发教程_IP_13

测试我们先全放开,对TCP的“入口”、“出口”都放开端口范围1~65535。

openstack二次开发用什么语言 openstack开发教程_IP_14

另外对ICMP放开“入口”、“出口”,4条规则设置完成后如下。

openstack二次开发用什么语言 openstack开发教程_运维_15

openstack二次开发用什么语言 openstack开发教程_openstack二次开发用什么语言_16

1.4分配外网IP

内部网络是用于同一个租户的虚拟机之间通信的,外边网络是用来与openstack之外通信的,不是公网IP的意思。

需要先分配一些外网IP,然后一会儿才能绑定到虚拟机上面,虚拟机才能与openstack之外的环境进行通信。

openstack二次开发用什么语言 openstack开发教程_网络_17

openstack二次开发用什么语言 openstack开发教程_IP_18

1.5创建虚拟机实例

选择创建实例,写主机名,为了测试网络连通性,我们选择一次过创建2台主机。

openstack二次开发用什么语言 openstack开发教程_外网_19

openstack二次开发用什么语言 openstack开发教程_IP_20

选择自带的镜像进行测试。

openstack二次开发用什么语言 openstack开发教程_openstack二次开发用什么语言_21

选择硬件配置套餐,选最小的。

openstack二次开发用什么语言 openstack开发教程_IP_22

选择网络,选择刚刚创建的私有网络。

openstack二次开发用什么语言 openstack开发教程_openstack二次开发用什么语言_23

安全组,选择刚刚创建的策略“Test-VM“,其他这哪是不设置,点击“创建实例”。

openstack二次开发用什么语言 openstack开发教程_运维_24

虚拟机创建并且系统开启后,显示已运行,点击虚拟机名字,进入虚拟机。

openstack二次开发用什么语言 openstack开发教程_运维_25

点击控制台可以打开console页面,根据提示输入用户名密码进行登录。

openstack二次开发用什么语言 openstack开发教程_openstack二次开发用什么语言_26

默认用户名与密码如下图。目前登录的是Test-VM1,ping一下Test-VM2测试(当前随机分配的2号机IP地址为192.138.30.147)能够通达。

此时正常情况ping openstack平台以外的IP,应该不通(如之前kubernetes的101.1.30.34)。

openstack二次开发用什么语言 openstack开发教程_网络_27

将外网IP绑定到虚拟机。

openstack二次开发用什么语言 openstack开发教程_网络_28

openstack二次开发用什么语言 openstack开发教程_网络_29

再测试ping外网能够ping通。

openstack二次开发用什么语言 openstack开发教程_运维_30