云计算之openstack(N版)neutron网络服务最佳实践

2.6网络服务

2.6.1neutron的概况

网络服务提供网络,子网以及路由这些对象的抽象概念。每个抽象概念都有自己的功能,可以模拟对应的物理设备:网络包括子网,路由在不同的子网和网络之间进行路由转发。

对于任意一个给定的网络都必须包含至少一个外部网络。不想其他的网络那样,外部网络不仅仅是一个定义的虚拟网络。相反,它代表了一种openstack安装之外的能从物理的,外部访问的试图。外部网络上的IP地址可供外部网络上的任意的物理设备访问,外部网络之外,任何networking设置拥有一个或多个内部网络。这些软件定义的网络直接连接到虚拟机。仅仅在给定网络上的虚拟机,或那些在通过接口连接到相近路由的子网上的虚拟机,能直接访问连接到那个网络上的虚拟机。

如果外部网络想要访问实例或者相反实例想要访问外部网络,那么网络之间的路由就是必要的了。每一个路由都配有一个网关用于连接到外部网络,以及一个或多个连接到内部网络的接口。就像一个物理路由一样,子网可以访问同一个路由上其他子网中的机器,并且机器也可以访问的网关访问外部网络。

另外,可以讲外部网络的IP地址分配给内部网络的端口,不符按什么时候一旦有链接到子网,那个链接被称作端口,你可以给实例的端口分配外部网络的IP地址。通过这种方式,外部网络上的实体可以访问实例。

网络服务统一支持安全组。安全组允许管理员在安全组中定义防火墙规则,一个实例了一属于一个或多个安全组,网络为这个实例配置这些安全组中的规则,阻止或者开启端口,端口范围或者通信类型。

每一个networking使用的插件都有其自有的概念。虽然对操作vni和openstack环境至关重要的,所有的networking安装使用了一个核心插件和一个安全组插件(或仅是空操作安全组插件)。另外,防火墙即服务(FWaas)和负载均衡即服务(LBaas)插件是可用的。

Openstack networking

网络:实际的物理环境下,我们使用交换机或者集线器把多个计算机连接起来形成了网络。在neutron的世界里,网络也是将多个不同的云主机连接起来。

子网:在实际的物理环境下,在一个网络中。我们可以将网络划分成多个逻辑子网。在neutron的世界里,子网也是隶属于网络下的。

端口:是实际的物理环境下,每个子网或者每个网络,都有很多的端口,比如交换机端口来供计算机连接。在neutron的世界里端口也隶属子网下,云主机的网卡会对应到一个端口上。

路由器:在实际的网络环境下,不同网络或者不同逻辑子网之间如果需要进行通信,需要通过路由器进行路由。在neutron的实际物理路由也是这个作用。用来连接不同的网络或者子网。

2.6.2控制节点上neutron的配置与安装

a数据库的创建并授权

create databaseneutron;

grant all onneutron.* to ‘neutron‘@‘localhost‘ identified by ‘neutron‘;

grant all onneutron.* to ‘neutron‘@‘%‘ identified by ‘neutron‘;

b创建服务证书

获得 admin 凭证来获取只有管理员能执行的命令的访问权限:

sourceadmin-openstack

创建``neutron``用户:

openstack usercreate --domain default --password-prompt neutron

添加``admin`` 角色到``neutron`` 用户:

openstack role add--project service --user neutron admin

c创建``neutron``服务实体

openstack servicecreate --name neutron \

--description"OpenStack Networking" network

d创建网络服务API端点

openstack endpointcreate --region RegionOne \

network publichttp://192.168.56.11:9696

openstack endpointcreate --region RegionOne \

network internalhttp://192.168.56.11:9696

openstack endpointcreate --region RegionOne \

network adminhttp://192.168.56.11:9696

e软件包的安装

yum install -yopenstack-neutron openstack-neutron-ml2 \

openstack-neutron-linuxbridgeebtables

f编辑``/etc/neutron/neutron.conf``

[database]#配置数据库访问

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

[DEFAULT]#启用ML2插件并禁用其他插件

core_plugin = ml2

service_plugins =

transport_url =rabbit://openstack:[email protected] #配置rabbitMQ消息队列访问权限

auth_strategy =keystone

notify_nova_on_port_status_changes= True

notify_nova_on_port_data_changes= True

[keystone_authtoken]#配置认证服务访问

auth_uri =http://192.168.56.11:5000

auth_url =http://192.168.56.11:35357

memcached_servers =192.168.56.11:11211

auth_type =password

project_domain_name= default

user_domain_name =default

project_name =service

username = neutron

password = neutron

[nova]  #配置网络服务来通知计算节点的网络拓扑变化

auth_url =http://192.168.56.11:35357

auth_type =password

project_domain_id =default

user_domain_id =default

region_name =RegionOne

project_name =service

username = nova

password = nova

[oslo_concurrency]配置锁路径

lock_path =/var/lib/neutron/tmp

配置 Modular Layer 2 (ML2) 插件

g编辑``/etc/neutron/plugins/ml2/ml2_conf.ini``

[ml2]

type_drivers=flat,vlan,gre,vxlan,geneve #启用flat和VLAN网络

tenant_network_types= flat,vlan,gre,vxlan,geneve #禁用私有网络

mechanism_drivers=linuxbridge  #启用Linuxbridge机制

extension_drivers =port_security  #启用端口安装扩展驱动

[ml2_type_flat]

flat_networks =public #配置公共虚拟网络为public网络

[securitygroup]

enable_ipset = True#启用IPset增肌安全组的方便性

配置Linuxbridge代理

h编辑``/etc/neutron/plugins/ml2/linuxbridge_agent.ini``

[linux_bridge]#将公共虚拟网络和公共物理网络接口对应起来

physical_interface_mappings= public:eth0

[vxlan]#禁止vxlan覆盖网络

enable_vxlan =False

[securitygroup]#启用安全组并配置Linux桥接iptables防火墙驱动

enable_security_group= True

firewall_driver =neutron.agent.linux.iptables_firewall.IptablesFirewallDriver

配置DHCP代理

i编辑``/etc/neutron/dhcp_agent.ini``

[DEFAULT]#配置Linuxbridge驱动接口,DHCP驱动并启用隔离元数据,这样在公共网络上的实例就可以通过网络访问元数据

interface_driver =neutron.agent.linux.interface.BridgeInterfaceDriver

dhcp_driver =neutron.agent.linux.dhcp.Dnsmasq

enable_isolated_metadata= True

配置metadata元数据

元数据代理提供配置信息,如凭据实例。

j编辑``/etc/neutron/metadata_agent.ini``

[DEFAULT]#配置元数据主机以及共享密码

nova_metadata_ip =192.168.56.11

metadata_proxy_shared_secret= chunchun

配置计算服务来使用网络服务

k编辑``/etc/nova/nova.conf``

[neutron]#配置访问参数,启用元数据代理并设置密码

url =http://192.168.56.11:9696

auth_url =http://192.168.56.11:35357

auth_type =password

project_domain_name= default

user_domain_name =default

region_name =RegionOne

project_name =service

username = neutron

password = neutron

service_metadata_proxy= True

metadata_proxy_shared_secret= chunchun

网络服务初始化脚本需要一个超链接 /etc/neutron/plugin.ini``指向ML2插件配置文件/etc/neutron/plugins/ml2/ml2_conf.ini``。如果超链接不存在,使用下面的命令创建它:

ln -s/etc/neutron/plugins/ml2/ml2_conf.ini /etc/neutron/plugin.ini

 

l同步数据库

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

验证数据库同步成功

mysql -h192.168.56.11 -uneutron -pneutron \

-e "useneutron;show tables;"|wc -l

163

m重新启动控制节点Nova API服务

systemctl restartopenstack-nova-api.service

n启动网络服务并将其配置为系统启动时启动

systemctl enableneutron-server.service \

neutron-linuxbridge-agent.serviceneutron-dhcp-agent.service \

neutron-metadata-agent.service

systemctl startneutron-server.service \

neutron-linuxbridge-agent.serviceneutron-dhcp-agent.service \

neutron-metadata-agent.service

2.6.3计算节点上neutron的配置与安装

a软件包的安装

yum install -yopenstack-neutron-linuxbridge ebtables ipset

b编辑``/etc/neutron/neutron.conf``文件

[DEFAULT]

transport_url =rabbit://openstack:[email protected] #配置``RabbitMQ``消息队列访问权限

auth_strategy =keystone

[keystone_authtoken]#配置认证服务访问

auth_uri =http://192.168.56.11:5000

auth_url =http://192.168.56.11:35357

memcached_servers =192.168.56.11:11211

auth_type =password

project_domain_name= default

user_domain_name =default

project_name =service

username = neutron

password = neutron

[oslo_concurrency]配置锁路径

lock_path =/var/lib/neutron/tmp

配置Linux桥接代理

c编辑``/etc/neutron/plugins/ml2/linuxbridge_agent.ini``文件

[linux_bridge]#将公共虚拟网络和公共物理网络接口对应起来

physical_interface_mappings= public:eth0

[vxlan]#禁止Vxlan覆盖网络

enable_vxlan =false

[securitygroup]  #启用安全组并配置Linux桥接iptables防火墙驱动

enable_security_group= True

firewall_driver =neutron.agent.linux.iptables_firewall.IptablesFirewallDriver

配置计算节点使用网络

d编辑``/etc/nova/nova.conf``文件

在[neutron]部分,配置访问

[neutron]

url =http://192.168.56.11:9696

auth_url =http://192.168.56.11:35357

auth_type =password

project_domain_id =default

user_domain_id =default

region_name =RegionOne

project_name =service

username = neutron

password = neutron

e重启计算节点nova-compute服务

systemctl restartopenstack-nova-compute

f启动Linux桥接代理,包括它的依赖和配置并在系统启动时启动

systemctl enableneutron-linuxbridge-agent.service

systemctl startneutron-linuxbridge-agent.service

验证:

获得 admin 凭证来获取只有管理员能执行的命令的访问权限:

sourceadmin-openstack

列出加载的扩展来验证``neutron-server``进程是否正常启动:

neutron agent-list

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

| id | agent_type |host | availability_zone | alive | admin_state_up | binary |

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

|3dfb07a5-d9e2-45ec-b77a- | Metadata agent | linux-node1.example.com | | :-) |True | neutron-metadata-agent |

| 471842f603e8 | || | | | |

| 9e7c94cf-fadd- |Linux bridge agent | linux-node1.example.com | | :-) | True |neutron-linuxbridge-agent |

|4b42-a316-ea1a5bce22de | | | | | | |

|a2ae2f2c-f453-449d-a46a- | DHCP agent | linux-node1.example.com | nova | :-) |True | neutron-dhcp-agent |

| c49edea6f9c5 | || | | | |

|ef8b5e4e-682e-4f57-af5e- | Linux bridge agent | linux-node2.example.com | | :-)| True | neutron-linuxbridge-agent |

| e50e9fa56615 | || | | | |

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

时间: 2024-10-11 06:32:59

云计算之openstack(N版)neutron网络服务最佳实践的相关文章

openstack O版 Neutron网络服务

1.创建neutron数据库[[email protected] ~]# mysql -uroot -pdevopsWelcome to the MariaDB monitor. Commands end with ; or \g.Your MariaDB connection id is 94Server version: 10.1.20-MariaDB MariaDB ServerCopyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab

openstack Q版部署-----网络服务(neutron)安装部署(7)

一.数据库配置 控制节点创建数据库 CREATE DATABASE neutron;GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'localhost' IDENTIFIED BY 'neutron2018';GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'%' IDENTIFIED BY 'neutron2018'; 二.创建认证信息(控制节点) 先生效一下环境变量 创建neutron用户: ope

openstack M 版 neutron网络组件基础入门

在我们openstack学习当中,网络组件neutron无疑是令很多人很难理解的,可以说要深入理解 了neutron组件,你基本完成了openstack 60%的学习,存储方面只要不涉及到分布式,剩下的基本都比较简单了 相信很多人第一次看到这种图的时候都会被吓一跳,没错,这就是openstack  neutron组件里面涉及到的数据流程,里面涉及到的知识点很多很多 Openstack网络模型中的几个概念网络: Management Network: 管理网络,连接所有节点. External N

云计算openstack共享组件-neutron网络服务7

一.虚拟机获取 ip: 用 namspace 隔离 DHCP 服务 Neutron 通过 dnsmasq 提供 DHCP 服务,而 dnsmasq 通过 Linux Network Namespace 独立的为每个 network 服务隔离 在二层网络上,VLAN 可以将一个物理交换机分割成几个独立的虚拟交换机.类似地,在三层网络上,Linux network namespace 可以将一个物理三层网络分割成几个独立的虚拟三层网络. 每个 namespace 都有自己独立的网络栈,包括 rout

我们必须要知道的RESTful服务最佳实践

看过很多RESTful相关的文章总结,参齐不齐,结合工作中的使用,非常有必要归纳一下关于RESTful架构方式了,RESTful只是一种架构方式的约束,给出一种约定的标准,完全严格遵守RESTful标准并不是很多,也没有必要.但是在实际运用中,有RESTful标准可以参考,是十分有必要的. 实际上在工作中对api接口规范.命名规则.返回值.授权验证等进行一定的约束,一般的项目api只要易测试.足够安全.风格一致可读性强.没有歧义调用方便我觉得已经足够了,接口是给开发人员看的,也不是给普通用户去调

OpenStack kilo版 Neutron部署

在 controller节点.network节点.compute节点部署 安装neutron-server [email protected]:~# apt-get install neutron-server neutron-plugin-ml2 python-neutronclient 配置neutron-server /etc/neutron/neutron.conf: [DEFAULT] router_distributed = False rpc_backend = rabbit au

云计算之openstack基础服务之一keystone服务最佳实践

1.openstack简介 Openstack是一个项目,该项目支持所有类型的云环境的一个开源云计算平台,该项目的目的是为了实现简单,大规模可扩展性,以及丰富功能集,来自世界各地的云计算专家项目作出贡献.Openstack提供了一个基础架构即服务(Iaas)并通过各种配套服务的解决方案,每个服务提供一个应用编程接口来完成整个openstack的结合. 架构图如下: 相关服务介绍: 服务名称 项目名称 描述 Dashboard Horizon 基于openstackAPI接口使用Django开发的

openstack Q版部署-----nova服务配置-计算节点(6)

一.服务安装 yum install openstack-nova-compute -y 编辑/etc/nova/nova.conf文件并设置如下内容 [DEFAULT] enabled_apis = osapi_compute,metadata transport_url = rabbit://openstack:[email protected] my_ip = 10.1.80.111 use_neutron = True firewall_driver = nova.virt.firewa

数据中心服务器托管VMware虚拟化网络配置最佳实践

通常把自己购买的服务器托管到一个具有双线网络接入的机房是一个不错的选择,每年的成本在1万元左右. 虚拟化能通过增加硬件的利用率来降低运行和维护物理服务器的成本.可以减少运行服务器工作负载所需的硬件数量.虚拟化的核心优势在于通过"一虚多"的方法提高灵活性和可扩展性,简化IT管理降低资金和运维等方面的成本.单台物理服务器上可以运行多个虚拟机形式的操作系统,并且每个操作系统都可以访问底层服务器的计算.网络.存储等资源.关于虚拟化的优势可以浏览VMware或Microsoft官方网站或者Goo