设为首页 收藏本站
查看: 1881|回复: 0

[经验分享] OpenStack pike版 安装openstack服务(5) 续安装openstack服务(4)

[复制链接]

尚未签到

发表于 2018-5-30 13:13:54 | 显示全部楼层 |阅读模式
网络服务简介
OpenStack网络(neutron)允许您创建和将其他OpenStack服务管理的接口设备附加到网络中。插件可以适应不同的网络设备和软件,为OpenStack的架构和部署提供灵活性。
它包括以下组件:
neutron-server:接受并将API请求路由到相应的OpenStack网络插件以进行操作。
OpenStack Networking plug-ins and agent:即插即用端口,创建网络或者子网,提供IP地址。这些插件和代理根据特定云使用的供应商和技术而有所不同。OpenStack网络附带插件和代理有思科虚拟和物理交换机,NEC OpenFlow产品,Open vSwitchLinux网桥和VMwareNSX产品。常见的代理是L3layer 3)、DHCP和插件代理(plug-in agent)。
Messaging queue:被大多数的openstack网络安装使用,用于在neutron server和各种agent之间路由信息。也可以作为数据库存储特定插件的网络状态。
   OpenStack网络服务主要与OpenStack计算服务交互,为其实例提供网络和连接。
Neutron网络概念
   OpenStack的网络(neutron)在你的OpenStack环境中管理所有虚拟网络基础设施(VNI)的网络方面,并负责到物理网络基础设施(PNI)的接入。OpenStack网络在项目(projects)中能够创建高级的虚拟网络拓扑,其中可能包括诸如防火墙、负载均衡器和虚拟专用网(VPN)等服务。
   网络提供网络、子网和路由器作为抽象的对象。每个抽象都有模仿其物理对应的功能:网络包含子网,路由器在不同的子网和网络之间路由通信。
   任何给定的网络设置至少有一个外部网络。与其他网络不同,外部网络不仅仅是一个虚拟定义的网络。相反,它代表一个到OpenStack安装之外可访问的物理外部网络的一部分。外部网络上的IP地址可以由任何物理上的外部网络访问。
   除了外部网络,任何网络都有一个或多个内部网络。这些软件定义的网络直接连接到VM。只有给定的内部网络中的VM,或通过类似于路由器的接口连接的子网,才能直接访问连接到该网络的VM
   如果从外部网络访问VM,反之亦然,网络之间需要路由器。每个路由器都有一个网关,连接到外部网络,有一个或多个接口连接到内部网络。与物理路由器一样,子网可以访问连接到同一路由器上的其他子网上的机器,并且可以通过路由器的网关访问外部网络。
   此外,可以将外部网络上的IP地址分配到内部网络的端口。您可以将外部网络IP地址与端口关联到VM。通过这种方式,外部网络上的实体可以访问VM
   网络也支持安全组。安全组使管理员可以按组定义防火墙规则。VM可以属于一个或多个安全组,网络在这些安全组中应用规则来阻止或允许端口,端口范围,或者是虚拟机的流量类型。
网络使用的每个插件都有自己的概念。这些概念的理解可以帮助您设置网络。所有网络安装都使用核心插件和安全组插件(或只是非安全组插件)。此外,firewall-as-a-service(FWaaS)和load-balancer-as-a-servicelbaas)插件是可以使用的。
在controller节点上部署neutron
前提准备工作:
在配置neutron之前,你必须要创建一个数据库、service credentialsAPI endpoints
1、创建数据库,完成以下配置
连接到数据库
[root@controller ~]# mysql -u root -p123.com创建neutron数据库
MariaDB [(none)]> create database neutron;Query OK, 1 row affected (0.05 sec)
创建数据库用户并赋予权限
MariaDB [(none)]> grant all privileges on neutron.* to 'neutron'@'localhost' identified by '123.com';Query OK, 0 rows affected (0.25 sec)

MariaDB [(none)]> grant all privileges on neutron.* to 'neutron'@'%' identified by '123.com';Query OK, 0 rows affected (0.00 sec)
2、赋予admin用户执行命令行环境权限
[root@controller ~]# source admin_keystone3、为了创建service credentials,完成以下步骤:

创建neutron用户
[root@controller ~]# openstack user create --domain default --password-prompt neutronUser Password:123.com
Repeat User Password:123.com
+---------------------+----------------------------------+
| Field               | Value                            |
+---------------------+----------------------------------+
| domain_id           | default                          |
| enabled             | True                             |
| id                  | bb03ccdea7ea45d48bb561eed632098f |
| name                | neutron                          |
| options             | {}                               |
| password_expires_at | None                             |
+---------------------+----------------------------------+

添加neutron用户到admin角色,次命令没有任何输出
[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          | 403f2e123cf14ce5b000f6b64b8297b1 |
| name        | neutron                          |
| type        | network                          |
+-------------+----------------------------------+


4、创建网络服务API endpoints
[root@controller ~]#openstack endpoint create --region RegionOne network public http://controller:9696

+--------------+----------------------------------+
| Field        | Value                            |
+--------------+----------------------------------+
| enabled      | True                             |
| id           | 28f4f411f93b4c338cb570a9cca398da |
| interface    | public                           |
| region       | RegionOne                        |
| region_id    | RegionOne                        |
| service_id   | 403f2e123cf14ce5b000f6b64b8297b1 |
| 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           | 1514c1bbfb83483da8a04b173c2acfd8 |
| interface    | internal                         |
| region       | RegionOne                        |
| region_id    | RegionOne                        |
| service_id   | 403f2e123cf14ce5b000f6b64b8297b1 |
| 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           | eae91a05aa69421fbdc2b42ad3238d70 |
| interface    | admin                            |
| region       | RegionOne                        |
| region_id    | RegionOne                        |
| service_id   | 403f2e123cf14ce5b000f6b64b8297b1 |
| service_name | neutron                          |
| service_type | network                          |
| url          | http://controller:9696           |
+--------------+----------------------------------+

在controller节点上安装Self-service networks
安装组件:
[root@controller ~]#yum -y install openstack-neutron openstack-neutron-ml2 \
  openstack-neutron-linuxbridge ebtables

配置服务组件:
  编辑配置文件/etc/neutron/neutron.conf并完成以下设置
[root@controller ~]# vim /etc/neutron/neutron.conf  在[database]部分配置到数据库的访问连接:
[database]
# ...
connection = mysql+pymysql://neutron:123.com@controller/neutron
     在[DEFAULT]部分配置:
[DEFAULT]
# ...
core_plugin = ml2
service_plugins = router
allow_overlapping_ips = true
在[DEFAULT]部分配置到RabbitMQ的访问:
[DEFAULT]
# ...
transport_url = rabbit://openstack:123.com@controller
在[DEFAULT]和[keystone_authtoken]部分配置身份验证服务访问:
[DEFAULT]
# ...
auth_strategy = keystone

[keystone_authtoken]
# ...
auth_uri = http://controller:5000
auth_url = http://controller:35357
memcached_servers = controller:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = neutron
password = 123.com
在[DEFAULT]和[nova]部分配置网络去通知计算服务网络拓扑发生的变化
[DEFAULT]
# ...
notify_nova_on_port_status_changes = true
notify_nova_on_port_data_changes = true

[nova]
# ...
auth_url = http://controller:35357
auth_type = password
project_domain_name = default
user_domain_name = default
region_name = RegionOne
project_name = service
username = nova
password = 123.com
在[oslo_concurrency]部分配置锁定路径
[oslo_concurrency]
# ...
lock_path = /var/lib/neutron/tmp
配置ML2插件
ML2插件使用Linux网桥机制来构建instance的虚拟网络基础架构。
编辑/etc/neutron/plugins/ml2/ml2_conf.ini文件来完成以下设置:

[root@controller ~]#vim /etc/neutron/plugins/ml2/ml2_conf.ini在[ml2]部分激活flat, VLAN, VXLAN
[ml2]
# ...
type_drivers = flat,vlan,vxlan
在[ml2]部分激活VXLAN self-service networks
[ml2]
# ...
tenant_network_types = vxlan
在[ml2]部分激活Linux bridge layer-2 population mechanisms:
[ml2]
# ...
mechanism_drivers = linuxbridge,l2population
在[ml2]部分激活port security扩展驱动
[ml2]
# ...
extension_drivers = port_security
在[ml2_type_flat]部分配置provider virtual network 作为a flat network:
[ml2_type_flat]
# ...
flat_networks = provider
在[ml2_type_vxlan]部分配置vni范围
[ml2_type_vxlan]
# ...
vni_ranges = 1:1000
在[securitygroup]部分配置激活ipset来增加安全组规则效率
[securitygroup]
# ...
enable_ipset = true
配置Linux网桥代理
Linux网桥代理构建2层虚拟网络架构并处理安全组
配置/etc/neutron/plugins/ml2/linuxbridge_agent.ini文件并完成以下配置:
[root@controller ~]# vim /etc/neutron/plugins/ml2/linuxbridge_agent.ini在[linux_bridge]部分配置提供商虚拟网络和提供商物理网络的映射
[linux_bridge]
physical_interface_mappings = provider:PROVIDER_INTERFACE_NAME
PROVIDER_INTERFACE_NAME替换为控制节点外网网卡名字:本实验为eno33554944
例如:physical_interface_mappings = provider:eno33554944:
在[vxlan]部分配置启用VXLAN覆盖网络,配置处理覆盖网络的物理网络接口的IP地址,并启动L2 population
[vxlan]
enable_vxlan = true
local_ip = OVERLAY_INTERFACE_IP_ADDRESS
l2_population = true
将OVERLAY_INTERFACE_IP_ADDRESS修改为控制节点内部管理接口IP地址,本实验为10.0.0.11
在[securitygroup]部分激活安全组并配置Linux防火墙驱动
[securitygroup]
# ...
enable_security_group = true
firewall_driver = neutron.agent.linux.iptables_firewall.IptablesFirewallDriver
配置3层代理
  3层代理提供路由和NAT服务
编辑配置文件/etc/neutron/l3_agent.ini并完成以下设置:
[root@controller ~]# vim /etc/neutron/l3_agent.ini在[DEFAULT]部分配置Linux网桥驱动和外部网络桥接
interface_driver = linuxbridge
配置DHCP代理
  DHCP代理为虚拟网络提供DHCP服务
配置/etc/neutron/dhcp_agent.ini文件完成以下设置:
[root@controller ~]# vim  /etc/neutron/dhcp_agent.ini[DEFAULT]
# ...
interface_driver = linuxbridge
dhcp_driver = neutron.agent.linux.dhcp.Dnsmasq
enable_isolated_metadata = true
配置元数据代理
元数据代理将配置信息(如凭据)提供给实例。
配置/etc/neutron/metadata_agent.ini配置文件并完成以下配置:
[root@controller ~]# vim /etc/neutron/metadata_agent.ini[DEFAULT]
# ...
nova_metadata_ip = controller
metadata_proxy_shared_secret = METADATA_SECRET
METADATA_SECRET为一个共享的密码,本实验使用:123.com
配置计算服务使用网络服务
配置/etc/nova/nova.conf文件完成以下配置,主要是配置访问参数、激活元数据代理及配置共享密码
[root@controller ~]# vim /etc/nova/nova.conf[neutron]
# ...
url = http://controller:9696
auth_url = http://controller:35357
auth_type = password
project_domain_name = default
user_domain_name = default
region_name = RegionOne
project_name = service
username = neutron
password = 123.com
service_metadata_proxy = true
metadata_proxy_shared_secret = 123.com
完成配置
1、创建网络初始化脚本链接文件
[root@controller ~]# ln -s /etc/neutron/plugins/ml2/ml2_conf.ini /etc/neutron/plugin.ini2、初始生成数据库
[root@controller ~]# su -s /bin/sh -c "neutron-db-manage --config-file /etc/neutron/neutron.conf \
  --config-file /etc/neutron/plugins/ml2/ml2_conf.ini upgrade head" neutron

3、重启计算服务
[root@controller ~]# systemctl restart openstack-nova-api.service4、启动网络服务并设置开机启动
[root@controller ~]#systemctl enable neutron-server.service \
  neutron-linuxbridge-agent.service neutron-dhcp-agent.service \
  neutron-metadata-agent.service[root@controller ~]# systemctl start neutron-server.service \
  neutron-linuxbridge-agent.service neutron-dhcp-agent.service \
  neutron-metadata-agent.service 如果是自服务网络,还需要启动3层服务:
[root@controller ~]# systemctl enable neutron-l3-agent.service
[root@controller ~]# systemctl start neutron-l3-agent.service在compute节点上部署neutron
计算节点处理实例的连通性和安全性。
安装组件
[root@controller ~]# yum -y install openstack-neutron-linuxbridge ebtables ipset配置通用部分:
  通用配置部分包含认证机制、消息队列和插件
1、编辑/etc/neutron/neutron.conf文件完成以下设置
[root@compute1 ~]# vim /etc/neutron/neutron.conf在[database]部分注释掉所有的连接设置,因为计算节点不需要直接访问数据库

在[DEFAULT] 部分配置和消息队列的连接
[DEFAULT]
# ...
transport_url = rabbit://openstack:123.com@controller
在[DEFAULT] 和[keystone_authtoken]部分配置身份验证服务访问
[DEFAULT]
# ...
auth_strategy = keystone
[keystone_authtoken]
# ...
auth_uri = http://controller:5000
auth_url = http://controller:35357
memcached_servers = controller:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = neutron
password = 123.com
2、在[oslo_concurrency]配置锁定路径
[oslo_concurrency]
# ...
lock_path = /var/lib/neutron/tmp
配置自服务网络类型的网络选项
  配置linux网桥代理
Linux网桥代理构建2层虚拟网络架构并处理安全组
配置/etc/neutron/plugins/ml2/linuxbridge_agent.ini文件并完成以下配置:
[root@compute1 ~]# vim /etc/neutron/plugins/ml2/linuxbridge_agent.ini在[linux_bridge]部分配置提供商虚拟网络和提供商物理网络的映射

[linux_bridge]
physical_interface_mappings = provider:PROVIDER_INTERFACE_NAME
PROVIDER_INTERFACE_NAME替换为计算节点外网网卡名字:本实验为eno33554944
例如:physical_interface_mappings = provider:eno33554944
在[vxlan]部分配置启用VXLAN覆盖网络,配置处理覆盖网络的物理网络接口的IP地址,并启动L2 population
[vxlan]
enable_vxlan = true
local_ip = OVERLAY_INTERFACE_IP_ADDRESS
l2_population = true
将OVERLAY_INTERFACE_IP_ADDRESS修改为计算节点内部管理接口IP地址,本实验为10.0.0.31
在[securitygroup]部分激活安全组并配置Linux防火墙驱动
[securitygroup]
# ...
enable_security_group = true
firewall_driver = neutron.agent.linux.iptables_firewall.IptablesFirewallDriver
配置计算服务使用网络服务
配置/etc/nova/nova.conf文件完成以下配置。在[neutron]部分配置访问参数
[root@compute1 ~]# vim /etc/nova/nova.conf[neutron]
# ...
url = http://controller:9696
auth_url = http://controller:35357
auth_type = password
project_domain_name = default
user_domain_name = default
region_name = RegionOne
project_name = service
username = neutron
password = 123.com
完成配置
  1、重启计算服务
[root@compute1 ~]# systemctl restart openstack-nova-compute.service 2、启动Linux网桥代理并设置开机启动

[root@compute1 ~]# systemctl enable neutron-linuxbridge-agent.service
[root@compute1 ~]# systemctl start neutron-linuxbridge-agent.service检查操作:
检查成功启动的neutron代理,在控制节点
[root@controller ~]# openstack network agent list+--------------------------------------+--------------------+------------+-------------------+-------+-------+---------------------------+

| ID                                   | Agent Type         | Host       | Availability Zone | Alive | State | Binary                    |
+--------------------------------------+--------------------+------------+-------------------+-------+-------+---------------------------+
| 336ea02e-f1c2-4245-91d8-9c1a1cca188b | L3 agent           | controller | nova              | :-)   | UP    | neutron-l3-agent          |
| 3eb4d4f2-3937-4909-8300-7d97bc5a85bb | Linux bridge agent | compute1   | None              | :-)   | UP    | neutron-linuxbridge-agent |
| 61cea3bc-1911-4828-ba9b-7b3bdcd13478 | Metadata agent     | controller | None              | :-)   | UP    | neutron-metadata-agent    |
| a4e19c5a-7852-46eb-bfa8-537b3eca7e96 | Linux bridge agent | controller | None              | :-)   | UP    | neutron-linuxbridge-agent |
| e3011ef0-818a-4634-93e1-d8763e92551e | DHCP agent         | controller | nova              | :-)   | UP    | neutron-dhcp-agent        |
+--------------------------------------+--------------------+------------+-------------------+-------+-------+---------------------------+

  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-483143-1-1.html 上篇帖子: OpenStack pike版 安装openstack服务(4) 续安装openstack服务(3) 下篇帖子: hyperv镜像制作 for windows 2008 server on openstack
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表