OpenStack pike版 安装openstack服务(5) 续安装openstack服务(4)

网络服务简介

OpenStack网络(neutron)允许您创建和将其他OpenStack服务管理的接口设备附加到网络中。插件可以适应不同的网络设备和软件,为OpenStack的架构和部署提供灵活性。

它包括以下组件:

neutron-server:接受并将API请求路由到相应的OpenStack网络插件以进行操作。

OpenStack Networking plug-ins and agent:即插即用端口,创建网络或者子网,提供IP地址。这些插件和代理根据特定云使用的供应商和技术而有所不同。OpenStack网络附带插件和代理有思科虚拟和物理交换机,NEC OpenFlow产品,Open vSwitch,Linux网桥和VMware的NSX产品。常见的代理是L3(layer 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-service(lbaas)插件是可以使用的。

在controller节点上部署neutron

前提准备工作:

在配置neutron之前,你必须要创建一个数据库、service credentials和API endpoints

1、创建数据库,完成以下配置

连接到数据库

[[email protected] ~]# 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用户执行命令行环境权限

[[email protected] ~]# source admin_keystone

3、为了创建service credentials,完成以下步骤:

创建neutron用户

[[email protected] ~]# openstack user create --domain default --password-prompt neutron

User 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角色,次命令没有任何输出

[[email protected] ~]# openstack role add --project service --user neutron admin

创建neutron服务项

[[email protected] ~]# 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。

[[email protected] ~]#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           |

+--------------+----------------------------------+

[[email protected] ~]#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           |

+--------------+----------------------------------+

[[email protected] ~]# 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

安装组件:

[[email protected] ~]#yum -y install openstack-neutron openstack-neutron-ml2   openstack-neutron-linuxbridge ebtables

配置服务组件:

编辑配置文件/etc/neutron/neutron.conf并完成以下设置

[[email protected] ~]# vim /etc/neutron/neutron.conf

在[database]部分配置到数据库的访问连接:

[database]

# ...

connection = mysql+pymysql://neutron:[email protected]/neutron

在[DEFAULT]部分配置:

[DEFAULT]

# ...

core_plugin = ml2

service_plugins = router

allow_overlapping_ips = true

在[DEFAULT]部分配置到RabbitMQ的访问:

[DEFAULT]

# ...

transport_url = rabbit://openstack:[email protected]

在[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文件来完成以下设置:

[[email protected] ~]#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文件并完成以下配置:

[[email protected] ~]# 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并完成以下设置:

[[email protected] ~]# vim /etc/neutron/l3_agent.ini

在[DEFAULT]部分配置Linux网桥驱动和外部网络桥接

interface_driver = linuxbridge

配置DHCP代理

DHCP代理为虚拟网络提供DHCP服务

配置/etc/neutron/dhcp_agent.ini文件完成以下设置:

[[email protected] ~]# 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配置文件并完成以下配置:

[[email protected] ~]# 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文件完成以下配置,主要是配置访问参数、激活元数据代理及配置共享密码

[[email protected] ~]# 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、创建网络初始化脚本链接文件

[[email protected] ~]# ln -s /etc/neutron/plugins/ml2/ml2_conf.ini /etc/neutron/plugin.ini

2、初始生成数据库

[[email protected] ~]# 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、重启计算服务

[[email protected] ~]# systemctl restart openstack-nova-api.service

4、启动网络服务并设置开机启动

[[email protected] ~]#systemctl enable neutron-server.service   neutron-linuxbridge-agent.service neutron-dhcp-agent.service   neutron-metadata-agent.service
[[email protected] ~]# systemctl start neutron-server.service   neutron-linuxbridge-agent.service neutron-dhcp-agent.service   neutron-metadata-agent.service

如果是自服务网络,还需要启动3层服务:

[[email protected] ~]# systemctl enable neutron-l3-agent.service
[[email protected] ~]# systemctl start neutron-l3-agent.service

在compute节点上部署neutron

计算节点处理实例的连通性和安全性。

安装组件

[[email protected] ~]# yum -y install openstack-neutron-linuxbridge ebtables ipset

配置通用部分:

通用配置部分包含认证机制、消息队列和插件

1、编辑/etc/neutron/neutron.conf文件完成以下设置

[[email protected] ~]# vim /etc/neutron/neutron.conf

在[database]部分注释掉所有的连接设置,因为计算节点不需要直接访问数据库

在[DEFAULT] 部分配置和消息队列的连接

[DEFAULT]

# ...

transport_url = rabbit://openstack:[email protected]

在[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文件并完成以下配置:

[[email protected] ~]# 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]部分配置访问参数

[[email protected] ~]# 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、重启计算服务

[[email protected] ~]# systemctl restart openstack-nova-compute.service

2、启动Linux网桥代理并设置开机启动

[[email protected] ~]# systemctl enable neutron-linuxbridge-agent.service
[[email protected] ~]# systemctl start neutron-linuxbridge-agent.service

检查操作:

检查成功启动的neutron代理,在控制节点

[[email protected] ~]# 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        |

+--------------------------------------+--------------------+------------+-------------------+-------+-------+---------------------------+

时间: 2024-08-07 08:24:05

OpenStack pike版 安装openstack服务(5) 续安装openstack服务(4)的相关文章

OpenStack pike版 基本环境部署(2) 续案例架构(1)

续案例架构(1) 环境准备工作: 按照以下规划配置各主机IP地址及主机名称 # controller 10.0.0.11       controller # compute1 10.0.0.31       compute1 # block1 10.0.0.41       block1 # object1 10.0.0.51       object1 # object2 10.0.0.52       object2 做名称解析: 编辑/etc/hosts文件,将以上内容写入即可. 关闭所

OpenStack pike版 安装openstack服务(4) 续安装openstack服务(3)    

Compute service overview 计算服务概述 OpenStack用于对主机的计算和管理云计算系统.OpenStack的计算是一个基础设施即服务(IaaS)系统的一个重要组成部分.主要模块是用python实现的. OpenStack计算与OpenStack身份验证交互用来完成认证:OpenStack镜像服务用于磁盘和服务器镜像:用户和管理接口为OpenStack Dashboard.镜像访问受到项目和用户的限制,每个项目的配额是有限的(例如,实例的数量).OpenStack计算可

CentOS7.2非HA分布式部署Openstack Pike版 (实验)

部署环境 一.组网拓扑 二.设备配置 笔记本:联想L440处理器:i3-4000M 2.40GHz内存:12G虚拟机软件:VMware? Workstation 12 Pro(12.5.2 build-4638234) 三.虚拟机配置 Controller节点:系统:CentOS7.2 64位(最小化安装)处理器:4核内存:4G硬盘:100G网卡:3块 Compute节点:系统:CentOS7.2 64位(最小化安装)处理器:4核内存:4G硬盘:100G网卡:3块 Cinder节点:系统:Cen

OpenStack pike版 安装openstack服务(3) 续基本环境部署(2)

安装openstack服务 所有openstack服务的安装指南链接:https://docs.openstack.org/pike/install/ 最小化部署,需要按照下面指定的顺序安装以下服务: Identity service – keystone installation for Pike Image service – glance installation for Pike Compute service – nova installation for Pike Networkin

Centos0S7手动安装OpenStack Pike版--(四)

#Configure Novamysql -uroot -ppasswd123 -e "CREATE DATABASE nova_api"mysql -uroot -ppasswd123 -e "CREATE DATABASE nova"mysql -uroot -ppasswd123 -e "CREATE DATABASE nova_cell0" mysql -uroot -ppasswd123 -e "GRANT ALL PRIVI

Centos0S7手动安装OpenStack Pike版--(二)

#Configure Keystonemysql -uroot -ppasswd123 -e "CREATE DATABASE keystone"mysql -uroot -ppasswd123 -e "GRANT ALL PRIVILEGES ON keystone. TO 'keystone'@'localhost' IDENTIFIED BY 'passwd123'"mysql -uroot -ppasswd123 -e "GRANT ALL PRI

初识OpenStack Pike版

Preface 前言 OpenStack系统由几个单独安装的关键服务组成.这些服务根据您的云需求一起工作,包括计算.身份验证.网络.镜像.块存储.对象存储.监控.编排和数据库服务.您可以分别安装这些项目中的任何一个,并将它们独立配置或安装到一起. OpenStack项目是一个开源云计算平台,适用于所有类型的云,其目的是实现简单.可伸缩性强.功能丰富.来自世界各地的开发者和云计算技术人员创建OpenStack项目. OpenStack基础架构即服务(IaaS)提供了一种通过一组相互关联的服务解决方

OpenStack pike版 案例架构(1)

案例架构 至少需要两个节点(主机)来启动基本虚拟机或实例.可选的服务,如块存储和对象存储需要额外的节点. Controller 控制节点 控制节点运行: Identity service 身份验证服务 Image service  镜像服务 management portions of Compute 计算管理部分 management portion of Networking  网络管理部分 various Networking agents      各种网络代理 Dashboard   

openstack M版安装 compute(nova)服务篇

配置安装nova compute服务 安装controller节点 一.创建nova数据库 [[email protected] ~]# mysql -u root -p >>CREATE DATABASE nova_api; >>CREATE DATABASE nova; >>GRANT ALL PRIVILEGES ON nova_api.* TO 'nova'@'localhost'   IDENTIFIED BY 'NOVA_DBPASS'; >>G