admin 管理员组

文章数量: 1087649

系列文章目录

openstack(train)单机版安装教程

openstack(train)创建网络与虚拟机


文章目录

  • 系列文章目录
  • Openstack Neutron原理
    • 1.Neutron架构
    • 2.外网访问原理
  • 基于Dashboard创建网络
    • 1.创建外网
    • 2.创建内网
    • 3.创建路由与接口
    • 4.分配浮动IP
    • 5.创建安全组
  • 创建虚拟机实例
    • 1.上传镜像
    • 2.创建实例
    • 3.绑定浮动IP
    • 4.验证网络互通


Openstack Neutron原理

1.Neutron架构

Neutron是Openstack的网络组件,整体架构如下:

简单来说就是:

1、neutron通过plugin和agent提供的网络服务,提供对网络、子网、端口、防火墙等的管理。

2、plugin位于neutron server,包括core plugin和service plugin。

3、agent位于各个节点,负责实现网络服务。

4、core plugin提供L2功能,ML2是推荐的plugin。

5、使用最广泛的L2 agent是linux bridage和openvswitch。

6、service plugin和agent提供扩展功能,包括dhcp, routing, load balance, firewall等。

2.外网访问原理

借助一张图说明如何使用Openstack构建虚拟网络且支持物理外网互通。

  1. 为这个Tenant创建一个private network,不同的private network是需要通过VLAN tagging进行隔离的,互相之间广播(broadcast)不能到达,这里我们我们用的是GRE模式,也需要一个类似VLANID的东西,称为Segment ID

  2. 为private network创建一个subnet,subnet才是真正配置IP网段的地方,对于私网,我们常常用192.168.0.0/24这个网段

  3. 为这个Tenant创建一个Router,才能够访问外网

  4. 将private network连接到Router上

  5. 创建一个External Network

  6. 创建一个External Network的Subnet,这个外网逻辑上代表了我们数据中心的物理网络,通过这个物理网络,我们可以访问外网。因而PUBLIC_GATEWAY应该设为数据中心里面的Gateway,PUBLCI_RANGE也应该和数据中心的物理网络的CIDR一致,否则连不通。之所以设置PUBLIC_START和PUBLIC_END,是因为在数据中心中,不可能所有的IP地址都给OpenStack使用,另外的可能搭建了VMware Vcenter,可能有物理机,所以仅仅分配一个区间给OpenStack来用。

  7. 将Router连接到External Network

经过这个流程,从虚拟网络到物理网络即逻辑上联通了。

基于Dashboard创建网络

根据上面的原理我们基于控制台进行操作。

1.创建外网

(1) 使用管理员账号进行登录,左侧菜单进入管理员->网络->网络,点击创建网络

(2)编辑外网信息

选择Flat类型作为供应商网络类型


其中物理网络的值必须与/etc/neutron/plugins/ml2/ml2_conf.ini里面定义一致

[ml2_type_flat]
flat_networks=physnet1

(2)编辑外网子网信息

根据物理网络配置编辑外网的子网信息

(3) 编辑子网详情

不需要激活DHCP,分配池的地址选择物理网络可分配的范围

2.创建内网

(1)使用管理员账号进行登录,通过管理员->网络->网络,点击创建网络

(2)编辑内网信息

选择VXLAN作为供应商网络类型

(3)编辑内网子网信息

内网信息自定义即可

(4) 编辑子网详情
内网信息自定义即可

创建完成后,可以看到两个网络信息

3.创建路由与接口

(1)使用管理员账号进行登录,左侧菜单进入管理员->网络->路由,点击新建路由

外部网络选择我们上面新增的外网


新增成功后,可以看到相关记录:

(2)点击名称所在列,查看具体信息如下

可以看到网关分配的IP为192.168.1.1.199


选择接口的TAB,可以看到路由目前的接口信息,状态为运行中就是正常的。

(3) 在接口列表点击增加接口

选择上面新建的子网

新增成功后,在路由的接口列表可以看到外部网关以及内部接口的运行状态

4.分配浮动IP

为了让虚拟机能够访问物理网络,需要从外网分配一个IP

使用管理员账号进行登录,左侧菜单进入管理员->网络->浮动IP,点击分配IP给项目,资源池选择上面的外网,浮动IP可以自定义,也可以不填写,按照外网的子网分配地址池分配。

新增成功后,左侧菜单进入项目->网络->网络拓扑可以看到目前外网与内网的连接情况

5.创建安全组

上面我们分配了一个浮动IP,需要定义入口安全组,实现物理网络访问虚拟网络,以ssh的22端口为例,配置一个安全组.

左侧菜单进去项目->网络->安全,点击右侧按钮``创建安全组

新增安全组完成后,在该安全组所在行,点击管理规则

编辑规则如下,点击添加即可。

创建虚拟机实例

1.上传镜像

(1) 登录后,左侧菜单进去计算->镜像,点击右侧按钮创建镜像

选择本地镜像文件,编辑基本信息如下,点击创建即可。

2.创建实例

(1) 登录后,左侧菜单进去计算->实例,点击右侧按钮创建实例

(2)选择镜像

(3)选择实例类型

(4)选择网络

选择内网


(5)选择安全组

选择创建的22端口规则的安全组

(6) 点击创建实例等待创建

3.绑定浮动IP

创建成功后,在实例所在行的动作列,选择绑定浮动IP,选择上面创建的浮动IP,成功后实例的IP地址有一个内网地址跟外网地址。

4.验证网络互通

(1) 在物理网络通过ssh登录虚拟机

(2)在虚拟网络ping外部物理网络

查看路由跳转
网络拓扑如下:

本文标签: 虚拟机 网络 openstack train