OpenStack的网络管理指南(2)——安装(部分翻译)

接上一篇OpenStack的网络管理指南(1)


了解如何安装和运行OpensStack网络服务


初始条件

如果你从零开始搭建使用OpenStack的网络服务的主机,我们强烈建议您使用的Ubuntu 12.04、12.10或Fedora 17、18,这些平台包含OpenStack的网络包,并且通过很好的测试。

OpenStack的网络至少需要dnsmasq2.59,它包含了所有必要的选项。


ubuntu上安装步骤

指向Grizzly PPAs:
$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
neutron-server处理OpenStack网络用户的请求和暴露API 。
  1. 安装 neutron-server 和 CLI 来访问API:

    $sudo apt-get install neutron-server python-neutronclient 
  2. 您还必须安装您选择使用 的插件,例如:

    $sudo apt-get install neutron-plugin-<plugin-name>
  3. 大部分插件要求安装一个数据库,并在插件配置文件配置。例如:

    $sudo apt-get install mysql-server python-mysqldb python-sqlalchemy

    如果你已经为 其他OpenStack的服务使用了一个数据库,你只需要创建一个neurton数据库:

    $mysql -u <user> -p <pass> -e “create database neutron”
  4. 为插件的配置文件配置数据库:

    1. Find the plugin configuration file in /etc/neutron/plugins/<plugin-name> (for example,/etc/neutron/plugins/openvswitch/ovs_neutron_plugin.ini).

    2. Set in the file:

      sql_connection = mysql://<user>:<password>@localhost/neutron?charset=utf8
 安装RPC
许多OpenStack的网络插件使用RPC ,使代理可以沟通主进程 neutron-server。如果你的插件需要代理,他们可以使用相同的RPC机制来使用OpenStack的其他组件,如nova。

使用RabbitMQ作为消息总线的RPC
  1. 可以通过管理网络安装在RabbitMQ的一台主机上(如果已经安装RabbitMQ的其他服务,如计算服务,那么这一步没有必要):

    $sudo apt-get install rabbitmq-server
    $rabbitmqctl change_password guest <password>
  2. 更新 /etc/neutron/neutron.conf :

    rabbit_host=<mgmt-IP-of-rabbit-host> rabbit_password=<password> rabbit_userid=guest

[Important] 重要

文件/etc/neutron/neutron.conf必须复制到所有使用neutron-server和neutron-*-agent二进制文件的主机上面


插件配置: OVS插件

如果你在多台主机上部署Open vSwitch上(OVS )插件,您将需要使用隧道或VLAN来隔离来自多个网络的流量。隧道更易于部署,因为它不要求网络交换机上配置VLAN 。

以下安装过程使用隧道模式:

  1. 编辑 /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>
  2. 如果您使用的是neutron DHCP 代理, 添加一下内容到 /etc/neutron/dhcp_agent.ini:

    dnsmasq_config_file=/etc/neutron/dnsmasq-neutron.conf
  3. 创建 /etc/neutron/dnsmasq-neutron.conf, 添加以下的值到该文件降低实例的MTU大小以防止数据包碎片通过GRE隧道

    dhcp-option-force=26,1400
  4. 在改变装有neutron-server节点的配置之后, 重启 neutron-server 获得新的配置:

    $sudo service neutron-server restart

插件配置:Nicira NVP插件

  1. 安装NVP插件:

    $sudo apt-get install neutron-plugin-nicira
  2. 编辑/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] Warning

    目前,ubuntu包中没有更新neutron指向NVP配置文件的初始脚本,你必须手动更新/etc/default/neutron-server 

    NEUTRON_PLUGIN_CONFIG = /etc/neutron/plugins/nicira/nvp.ini 
配置big switch,Floodlight REST代理插件
  1. 编辑 /etc/neutron/neutron.conf :

    core_plugin = neutron.plugins.bigswitch.plugin.NeutronRestProxyV2
  2. 编辑插件配置文件, /etc/neutron/plugins/bigswitch/restproxy.ini:

    server = <controller-ip>:<port>


  3. 重启 neutron-server 获得新的配置:

    $sudo service neutron-server restart


配置 Ryu插件
  1. 安装 Ryu 插件:

    $sudo apt-get install neutron-plugin-ryu 
  2. 编辑/etc/neutron/neutron.conf:

    core_plugin = neutron.plugins.ryu.ryu_neutron_plugin.RyuNeutronPluginV2
  3. 编辑/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> 
  4. 重启 neutron-server 获得新的设置:

    $sudo service neutron-server restart


配置PLUMgrid插件

  1. 编辑 /etc/neutron/neutron.conf:

    core_plugin = neutron.plugins.plumgrid.plumgrid_plugin.plumgrid_plugin.NeutronPluginPLUMgridV2
  2. 编辑 /etc/neutron/plugins/plumgrid/plumgrid.ini :

    Select Text
    1
    2
    3
    4
    5
    [PLUMgridDirector]
    director_server = "PLUMgrid-director-ip-address"
    director_server_port = "PLUMgrid-director-port"
    username = "PLUMgrid-director-admin-username"
    password = "PLUMgrid-director-admin-password"
  3. 重启 neutron-server:

    $sudo service neutron-server restart

安装这块比较繁琐,而且也没有什么可以详细翻译的,后面的略过了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值