接上一篇OpenStack的网络管理指南(1)
$echo deb http://ubuntu-cloud.archive.canonical.com/ubuntu precise-updates/grizzly main | sudo tee /etc/apt/sources.list.d/grizzly.list $sudo apt-get install ubuntu-cloud-keyring $sudo apt-get update $sudo apt-get upgrade
-
安装 neutron-server 和 CLI 来访问API:
$sudo apt-get install neutron-server python-neutronclient
-
您还必须安装您选择使用 的插件,例如:
$sudo apt-get install neutron-plugin-<plugin-name>
-
大部分插件要求安装一个数据库,并在插件配置文件配置。例如:
$sudo apt-get install mysql-server python-mysqldb python-sqlalchemy
如果你已经为 其他OpenStack的服务使用了一个数据库,你只需要创建一个neurton数据库:$mysql -u <user> -p <pass> -e “create database neutron”
-
为插件的配置文件配置数据库:
-
Find the plugin configuration file in
/etc/neutron/plugins/<plugin-name>
(for example,/etc/neutron/plugins/openvswitch/ovs_neutron_plugin.ini
). -
Set in the file:
sql_connection = mysql://<user>:<password>@localhost/neutron?charset=utf8
-
安装RPC
许多OpenStack的网络插件使用RPC ,使代理可以沟通主进程 neutron-server。如果你的插件需要代理,他们可以使用相同的RPC机制来使用OpenStack的其他组件,如nova。-
可以通过管理网络安装在RabbitMQ的一台主机上(如果已经安装RabbitMQ的其他服务,如计算服务,那么这一步没有必要):
$sudo apt-get install rabbitmq-server $rabbitmqctl change_password guest <password>
-
更新
/etc/neutron/neutron.conf
:rabbit_host=<mgmt-IP-of-rabbit-host> rabbit_password=<password> rabbit_userid=guest
![]() | 重要 |
---|---|
文件/etc/neutron/neutron.conf必须复制到所有使用neutron-server和neutron-*-agent二进制文件的主机上面 |
插件配置: OVS插件
-
编辑
/etc/neutron/plugins/openvswitch/ovs_neutron_plugin.ini
到以下指定值:enable_tunneling=True tenant_network_type=gre tunnel_id_ranges=1:1000 # only required for nodes running agents local_ip=<data-net-IP-address-of-node>
-
如果您使用的是neutron DHCP 代理, 添加一下内容到
/etc/neutron/dhcp_agent.ini
:dnsmasq_config_file=/etc/neutron/dnsmasq-neutron.conf
-
创建
/etc/neutron/dnsmasq-neutron.conf
, 添加以下的值到该文件降低实例的MTU大小以防止数据包碎片通过GRE隧道dhcp-option-force=26,1400
-
在改变装有
neutron-server节点的配置之后
, 重启neutron-server
获得新的配置:$sudo service neutron-server restart
插件配置:Nicira NVP插件
-
安装NVP插件:
$sudo apt-get install neutron-plugin-nicira
-
编辑
/etc/neutron/neutron.conf
:core_plugin = neutron.plugins.nicira.NeutronPlugin.NvpPluginV2
NVP
neutron.conf
文件配置示例:core_plugin = neutron.plugins.nicira.NeutronPlugin.NvpPluginV2 rabbit_host = 192.168.203.10 allow_overlapping_ips = True
为了告诉OpenStack网络关于NVP控制器集群,在文件/etc/neutron/plugins/nicira/nvp.ini创建一个新的部分,增加以下内容:
-
在租户创建一个网络时,NVP运输区(Transport Zone 这个直译的)的UUID将被默认使用。这个值在NVP管理运输区页面被检索到:
default_tz_uuid = <uuid_of_the_transport_zone>
-
一个连接字符串被NVP插件用作指示参数当要连接NVP网络服务API的时候。在你的部署中,每个NVP控制器文件中将配置这一行,NVP运营商将可以要求更新NVP控制器的IP和密码,其他都可以设置为默认:
nvp_controller_connection = <controller_node_ip>:<controller_port>:<api_user>:<api_password>:<request_timeout>:<http_timeout>:<retries>:<redirects>
-
当一个租户创建一个路由时,NVP L3的网关服务的UUID将被默认使用。这个值可以在NVP管理网关服务页面被检索到:
default_l3_gw_service_uuid = <uuid_of_the_gateway_service>
Warning 目前,ubuntu包中没有更新neutron指向NVP配置文件的初始脚本,你必须手动更新
/etc/default/neutron-server
NEUTRON_PLUGIN_CONFIG = /etc/neutron/plugins/nicira/nvp.ini
-
编辑
/etc/neutron/neutron.conf
:core_plugin = neutron.plugins.bigswitch.plugin.NeutronRestProxyV2
-
编辑插件配置文件,
/etc/neutron/plugins/bigswitch/restproxy.ini
:server = <controller-ip>:<port>
-
重启
neutron-server
获得新的配置:$sudo service neutron-server restart
-
安装 Ryu 插件:
$sudo apt-get install neutron-plugin-ryu
-
编辑
/etc/neutron/neutron.conf
:core_plugin = neutron.plugins.ryu.ryu_neutron_plugin.RyuNeutronPluginV2
-
编辑
/etc/neutron/plugins/ryu/ryu.ini
, 为ryu-neutron-agent更新以下ovs选项:-
openflow_rest_api
是用在告诉Ryu在哪里侦听REST API。 根据你的Ryu设置替换ip地址和端口。 -
ovsdb_interface
是Ryu用来访问ovsdb-server
。根据您的设置替换eth0。 ip地址来自于接口名称。如果你想不管接口名称而改变ip地址,可以指定ovsdb_ip。
你可以用ovsdb_port来指定非默认的端口访问ovsdb-server。 -
需要设置tunnel_interface来告诉哪个ip地址被用于隧道(假如隧道没有被使用,那么这个值被忽略),ip地址来自接口名称
你可以使用计算节点使用的相同的配置文件,但需要改变其网卡的ip地址
openflow_rest_api = <ip-address>:<port-no> ovsdb_interface = <eth0> tunnel_interface = <eth0>
-
-
重启
neutron-server
获得新的设置:$sudo service neutron-server restart
-
编辑
/etc/neutron/neutron.conf
:core_plugin = neutron.plugins.plumgrid.plumgrid_plugin.plumgrid_plugin.NeutronPluginPLUMgridV2
-
编辑
/etc/neutron/plugins/plumgrid/plumgrid.ini
:12345[PLUMgridDirector]
director_server =
"PLUMgrid-director-ip-address"
director_server_port =
"PLUMgrid-director-port"
username =
"PLUMgrid-director-admin-username"
password =
"PLUMgrid-director-admin-password"
-
重启
neutron-server
:$sudo service neutron-server restart