搭建Openstack环境以及Openstack认证服务
Openstack之glance镜像服务、nova计算服务
Openstack之neutron网络服务、 启动一个实例
Openstack之dashboard服务、云主机管理、cinder块存储服务
Networking 服务
OpenStack Networking(neutron),允许创建、插入接口设备,这些设备由其他的OpenStack服务管理。插件式的实现可以容纳不同的网络设备和软件,为OpenStack架构与部署提供了灵活性。
OpenStack网络主要和OpenStack计算交互,以提供网络连接到它的实例。
网络(neutron)概念
OpenStack网络(neutron)管理OpenStack环境中所有虚拟网络基础设施(VNI),物理网络基础设施(PNI)的接入层。OpenStack网络允许租户创建包括像 firewall, :term:
load balancer
和 :term:virtual private network (VPN)
等这样的高级虚拟网络拓扑。
对于任意一个给定的网络都必须包含至少一个外部网络。不像其他的网络那样,外部网络不仅仅是一个定义的虚拟网络。相反,它代表了一种OpenStack安装之外的能从物理的,外部的网络访问的视图。外部网络上的IP地址可供外部网络上的任意的物理设备所访问
外部网络之外,任何 Networking 设置拥有一个或多个内部网络。这些软件定义的网络直接连接到虚拟机。仅仅在给定网络上的虚拟机,或那些在通过接口连接到相近路由的子网上的虚拟机,能直接访问连接到那个网络上的虚拟机。
如果外部网络想要访问实例或者相反实例想要访问外部网络,那么网络之间的路由就是必要的了。每一个路由都配有一个网关用于连接到外部网络,以及一个或多个连接到内部网络的接口。就像一个物理路由一样,子网可以访问同一个路由上其他子网中的机器,并且机器也可以访问路由的网关访问外部网络。
另外,你可以将外部网络的IP地址分配给内部网络的端口。不管什么时候一旦有连接连接到子网,那个连接被称作端口。你可以给实例的端口分配外部网络的IP地址。通过这种方式,外部网络上的实体可以访问实例.
网络服务同样支持安全组。安全组允许管理员在安全组中定义防火墙规则。一个实例可以属于一个或多个安全组,网络为这个实例配置这些安全组中的规则,阻止或者开启端口,端口范围或者通信类型。
安装并配置控制节点
在配置OpenStack网络(neutron)服务之前,需要为其创建一个数据库,服务凭证和API端点
1. 创建数据库
用数据库连接客户端以 root 用户连接到数据库服务器
[root@controller ~]# mysql -p
创建neutron
数据库
MariaDB [(none)]> CREATE DATABASE neutron;
授权
MariaDB [(none)]> GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'localhost' \
-> IDENTIFIED BY 'neutron';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'%' IDENTIFIED BY 'neutron';
2. 获得 admin 凭证来获取只有管理员能执行的命令的访问权限
[root@controller ~]# . admin-openrc
3. 创建服务证书
创建neutron
用户
[root@controller ~]# openstack user create --domain default --password neutron neutron
+-----------+----------------------------------+
| Field | Value |
+-----------+----------------------------------+
| domain_id | 2cc353d733a74c629c0c7db9327e540a |
| enabled | True |
| id | 27e1a1b2752c47d3b4b72df5a22500b6 |
| name | neutron |
+-----------+----------------------------------+
添加admin
角色到neutron
用户
[root@controller ~]# openstack role add --project service --user neutron admin
创建neutron
服务实体
[root@controller ~]# openstack service create --name neutron \
> --description "OpenStack Networking" network
+-------------+----------------------------------+
| Field | Value |
+-------------+----------------------------------+
| description | OpenStack Networking |
| enabled | True |
| id | 2a32972d7d8446ecb0ae2a2a3cf6e118 |
| name | neutron |
| type | network |
+-------------+----------------------------------+
4. 创建网络服务API端点
[root@controller ~]# openstack endpoint create --region RegionOne \
> network public http://controller:9696
+--------------+----------------------------------+
| Field | Value |
+--------------+----------------------------------+
| enabled | True |
| id | dcdfb8f4ffa746ad8e251eb3cbef07ad |
| interface | public |
| region | RegionOne |
| region_id | RegionOne |
| service_id | 2a32972d7d8446ecb0ae2a2a3cf6e118 |
| service_name | neutron |
| service_type | network |
| url | http://controller:9696 |
+--------------+----------------------------------+
[root@controller ~]# openstack endpoint create --region RegionOne \
> network internal http://controller:9696
+--------------+----------------------------------+
| Field | Value |
+--------------+----------------------------------+
| enabled | True |
| id | 5c95794bbd8541038b6f095c225c61dd |
| interface | internal |
| region | RegionOne |
| region_id | RegionOne |
| service_id | 2a32972d7d8446ecb0ae2a2a3cf6e118 |
| service_name | neutron |
| service_type | network |
| url | http://controller:9696 |
+--------------+----------------------------------+
[root@controller ~]# openstack endpoint create --region RegionOne \
> network admin http://controller:9696
+--------------+----------------------------------+
| Field | Value |
+--------------+----------------------------------+
| enabled | True |
| id | 91373d34d40046bead6bbde5366d519d |
| interface | admin |
| region | RegionOne |
| region_id | RegionOne |
| service_id | 2a32972d7d8446ecb0ae2a2a3cf6e118 |
| service_name | neutron |
| service_type | network |
| url | http://controller:9696 |
+--------------+----------------------------------+
5.配置公有网络
在controller节点上安装并配置网络组件
- 安装组件
[root@controller ~]# yum install openstack-neutron openstack-n