Openstack之安装neutron
来源:互联网 发布:苹果音乐制作软件 编辑:程序博客网 时间:2024/06/07 07:05
安装和配置 Network Service(网络服务)
OpenStack 网络服务(neutron),管理所有网络方面的内容。包括虚拟网络基础架构(VNI)和接入层方面的物理网络基础架构(PNI)。本章介绍在 Controller node(管理节点)安装和配置网络服务。
先决条件
在配置 Openstack Networking(neutron) service 之前,必须创建数据库,服务凭据和 API 端点。
1. 创建数据库,并完成下列步骤:
A. 使用数据库命令行客户端,以 root 身份登录数据库服务器。
# mysql -u root -p123
B. 创建 neutron 数据库
MariaDB [(none)]> CREATE DATABASE neutron;
C. 创建数据库用户 neutron,并授予数据库用户 neutron 访问
neutron 数据库的权限。
MariaDB [(none)]> GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'localhost' IDENTIFIED BY '123456';MariaDB [(none)]> GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'%' IDENTIFIED BY '123456';
替换 NEUTRON_DBPASS 为一个合适的密码。
D. 退出数据库
- 执行 admin 凭据脚本,以便以 admin 身份执行后续命令:
# . admin-openrc
- 创建服务凭据,并完成下列步骤:
A. 创建 neutron 用户:
# openstack user create --domain default --password-prompt neutron
B. 添加 admin 角色到 neutron 用户和 service 项目
# openstack role add --project service --user neutron admin
C. 创建 neutron 服务实体:
# openstack service create --name neutron --description "OpenStack Networking" network
- 创建网络服务的 API 端点:
# openstack endpoint create --region RegionOne network public http://controller:9696# openstack endpoint create --region RegionOne network internal http://controller:9696# openstack endpoint create --region RegionOne network admin http://controller:9696
安装并配置服务组件
在 controller node(管理节点)安装和配置网络组件。
1. 安装组件
# yum install openstack-neutron openstack-neutron-ml2 openstack-neutron-linuxbridge ebtables ipset –y
- 编辑/etc/neutron/neutron.conf 文件并完成下列操作:
A. 在[database]小节,配置数据库访问信息:
[database]# ...connection = mysql+pymysql://neutron:123@controller/neutron
替换 NEUTRON_DBPASS 为你的网络服务数据库用户 neutron 的密码。
B. 在[DEFAULT]小节,启用二层模块(ML2)插件,路由服务和重叠地址功能:
[DEFAULT]# ...core_plugin = ml2service_plugins = routerallow_overlapping_ips = true
C. 在[DEFAULT]小节,配置 RabbitMQ 消息队列访问信息:
[DEFAULT]
# ...transport_url = rabbit://openstack:123@controller
替换 RABBIT_PASS 为 RabbitMQ 用户 openstack 的密码。
D. 在[DEFAULT]和[keystone_authtoken]小节,配置身份服务访问
信息:
[DEFAULT]# ...auth_strategy = keystone[keystone_authtoken]# ...auth_uri = http://controller:5000auth_url = http://controller:35357memcached_servers = controller:11211auth_type = passwordproject_domain_name = defaultuser_domain_name = defaultproject_name = serviceusername = neutronpassword = 123
替换 NEUTRON_PASS 为身份服务用户 neutron 的密码。
E. 在[DEFAULT]和[nova]小节,配置当网络拓扑发生改变时向计算服务发送网络通知。
[DEFAULT]# ...notify_nova_on_port_status_changes = truenotify_nova_on_port_data_changes = true[nova]# ...auth_url = http://controller:35357auth_type = passwordproject_domain_name = defaultuser_domain_name = defaultregion_name = RegionOneproject_name = serviceusername = novapassword = 123替换 NOVA_PASS 为身份服务用户 nova 的密码。F. 在[oslo_concurrency]小节,配置锁路径:[oslo_concurrency]# ...lock_path = /var/lib/neutron/tmp
配置二层(ML2)模块插件
ML2 插件使用 Linux bridge 机制为云主机建立二层虚拟网络基础。
1. 编辑/etc/neutron/plugins/ml2/ml2_conf.ini 文件并完成下列操作:
A. 在[ml2]小节,启用 flat,VLAN 和 VXLAN 网络:
[ml2]# ...type_drivers = flat,vlan,vxlan
B. 在[ml2]小节,启用 VXLAN 为用户自定义网络:
[ml2]# ...tenant_network_types = vxlan
C. 在[ml2]小节,启用 Linux bridge 和 layer-2 population 机制:
[ml2]# ...mechanism_drivers = linuxbridge,l2population
D. 在[ml2]小节,启用端口安全扩展驱动:
[ml2]# ...extension_drivers = port_security
E. 在[ml2_type_flat]小节,配置 provider 虚拟网络使用 flat 网
络:
[ml2_type_flat]# ...flat_networks = provider
F. 在[ml2_type_vxlan]小节,配置自定义 VXLAN 网络的 id 范围:
[ml2_type_vxlan]# ...vni_ranges = 1:1000
G. 在[securitygroup]小节,启用 ipset 增强安全组的工作效率:
[securitygroup]# ...enable_ipset = true
配置 Linux bridge agent
Linux bridge agent 为云主机和处理安全组建立二层虚拟网络基础。
1. 编辑/etc/neutron/plugins/ml2/linuxbridge_agent.ini 文件并完成下列操作:
A. 在[linux_bridge]小节,映射 provider 虚拟网络到 provider 物理网络接口:
[linux_bridge]physical_interface_mappings = provider: PROVIDER_INTERFACE_NAME
替换 PROVIDER_INTERFACE_NAME 为 provider 物理网络接口的名字。
B. 在[vxlan]小节,启用 VXLAN 覆盖网络,配置处理覆盖网络物理网络接口的 IP 地址。启用 layer-2 population:
[vxlan]enable_vxlan = truelocal_ip = OVERLAY_INTERFACE_IP_ADDRESSl2_population = true
替换 OVERLAY_INTERFACE_IP_ADDRESS 为管理节点管理接口的IP地址。
C. 在[securitygroup]小节,启用安全组并配置 Linux bridge
iptables 防火墙驱动:
[securitygroup]# ...enable_security_group = truefirewall_driver = neutron.agent.linux.iptables_firewall.IptablesFirewallDriver
配置三层代理
Layer-3 (L3) agent 为自定义虚拟网络提供路由和 NAT 服务。
1. 编辑/etc/neutron/l3_agent.ini 文件并完成下列操作:
在[DEFAULT]小节,配置 Linux bridge 接口驱动和外部网络网桥:
[DEFAULT]# ...interface_driver = linuxbridge
配置 DHCP 代理
DHCP 代理为虚拟网络提供 DHCP 服务。
1. 编辑/etc/neutron/dhcp_agent.ini 文件并完成下列操作:
在[DEFAULT]小节,配置 Linux bridge 接口驱动,Dnsmasq DHCP 驱动并启用 isolated metadata,以便云主机可以通过 provider 网络访问元数据:
[DEFAULT]# ...interface_driver = linuxbridgedhcp_driver = neutron.agent.linux.dhcp.Dnsmasqenable_isolated_metadata = true
配置元数据代理
metadata agent(元数据代理)提供配置信息,例如云主机的凭据。
1. 编辑/etc/neutron/metadata_agent.ini 文件并完成下列操作:
在[DEFAULT]小节,配置元数据主机和共享秘钥:
[DEFAULT]# ...nova_metadata_ip = controllermetadata_proxy_shared_secret = METADATA_SECRET
替换 METADATA_SECRET 为一个合适的密码。
配置计算服务使用 neutron 网络
1. 编辑/etc/nova/nova.conf 文件并完成下列操作:
在[neutron]小节,配置访问参数,启用元数据代理,并配置共享秘钥:
[neutron]# ...url = http://controller:9696auth_url = http://controller:35357auth_type = passwordproject_domain_name = defaultuser_domain_name = defaultregion_name = RegionOneproject_name = serviceusername = neutronpassword = 123service_metadata_proxy = truemetadata_proxy_shared_secret = METADATA_SECRET
替换 NEUTRON_PASS 为身份服务中 neutron 用户的密码。替换 METADATA_SECRET 为/etc/neutron/metadata_agent.ini 文件中相同的密码。
完成安装
1. 网络服务初始化脚本/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
- 初始化数据库
# 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
图片7
3. 重启计算的 API 服务
# systemctl restart openstack-nova-api.servicesystemctl restart openstack-nova-compute.service
- 启动网络服务并配置开机自动运行:
# systemctl enable neutron-server.service neutron-linuxbridge-agent.service neutron-dhcp-agent.service neutron-metadata-agent.service neutron-l3-agent.service# systemctl start neutron-server.service neutron-linuxbridge-agent.service neutron-dhcp-agent.service neutron-metadata-agent.service neutron-l3-agent.service
修改 VMware workstation 虚拟机和系统配置
因为 VMware workstation 虚拟机默认开启网卡 MAC 地址检查,该功能将导致云主机与 provider 网络通信异常。物理设备不会出现此异常。因此需要对虚拟机的配置文件做修改。关闭虚拟机网卡的 MAC 地址检查。将所以虚拟机关机,并修改所有虚拟机的 vmx 配置文件,添加如下配置项:
ethernet0.checkMACAddress = “FALSE”
ethernet1.checkMACAddress = “FALSE”
注:两个网卡的虚拟机添加两项,一个网卡的虚拟机添加第一项。如果使用 Linux 版本的 VMware workstation,还需要将相关网卡设备的权限设置为 666,命令如下:
chmod 666 /dev/vmnet*
创建 provider 网络
在 controller node(管理节点)完成下列操作。
1. 执行 admin 凭据脚本,以便以 admin 身份执行后续命令:
# . admin-openrc
- 创建网络:
# openstack network create --share --external --provider-physical-network provider --provider-network-type flat provider
- 在 provider 网络上创建子网:
# openstack subnet create --network provider --allocation-pool start=192.168.67.129,end=192.168.67.254 --dns-nameserver 114.114.114.114 --gateway 192.168.67.1 --subnet-range 192.168.67.0/24 provider
创建自定义网络
1. 在管理节点,执行 demo 凭据脚本,以便以 demo 身份执行后续命令:
# . demo-openrc
- 创建网络
# openstack network create selfservice
图片十二
3. 在自定义网络上创建子网
# openstack subnet create --network selfservice --dns-nameserver 114.114.114.114 --gateway 192.168.111.1 --subnet-range 192.168.111.0/24 selfservice
创建一个路由器
1. 执行 demo 凭据脚本,以便以 demo 身份执行后续命令:
# . demo-openrc
- 创建路由器
# openstack router create router
- 将自定义网络的子网连接到路由器的接口:
# neutron router-interface-add router selfservice
- 设置 provider 网络为路由器的网关:
# neutron router-gateway-set router provider
验证操作
在 controller node(管理节点)完成下列操作。
1. 执行 admin 凭据脚本,以便以 admin 身份执行后续命令:
# . admin-openrc
- 列出加载的扩展模块,确认 neutron-server 服务进程成功启动:
# openstack extension list --network
- 列出代理确认 neutron 代理成功启动:
# openstack network agent list
4、列出网络命名空间。你因该看到一个 qrouter 命名空间和两个qdhcp 命名空间:
# ip netns
5. 列出路由器端口,查看 provider 网络分配给路由器的网关 IP:
# neutron router-port-list router
- 从 provider 网络其他主机 ping 该地址:
- Openstack之安装neutron
- openstack neutron模块安装
- Openstack之neutron简介
- Openstack之neutron入门
- OpenStack——Neutron安装
- openstack之neutron代码分析---(1)neutron初始化流程
- OpenStack之Neutron源码分析 Neutron-server初始化
- OpenStack多节点安装(五):Neutron
- openstack mitaka neutron 官方安装步骤
- Openstack Neutron
- 浓墨重彩之OpenStack-07-neutron网络服务
- 【neutron】OpenStack Neutron -- 学习资料
- 手动安装liberty版本openstack环境(allinone)---安装neutron
- OpenStack Ocata 安装(五)安装网络(Neutron)服务
- 利用devstack安装openstack以及neutron的配置等
- DevStack 安装 OpenStack 多节点(Juno+Neutron+ML2+VXLAN)
- Ubuntu 14.04一步一步安装Openstack Kilo版本-10(neutron)
- OpenStack入门以及一些资料之(二、neutron网络)
- BCM5482s 端接电阻PCB布局设计
- 简单图形验证码生成 代码解析
- 【AI年薪大pk】美国从业者平均年薪73万,中国应届生30万起
- 如何取出Map中的key和value
- nrfutil pkg generate --help
- Openstack之安装neutron
- css 自定义样式 继承写法
- springMVC.xml配置
- Windows/Linux 远程桌面访问CentOS
- windows下使用cygwin搭建git服务器
- 无缝滚动效果
- 转【jspf】
- 【Educational Codeforces Round 33】 B. Beautiful Divisors (枚举)
- 说说css中pt、px、em、rem都扮演了什么角色