中文
注册

安装和配置Neutron(Self service-LinuxBridge)

OpenStack网络方式比较多,可以采用Provider模式或者Self-service模式。部署方式又可以分为LinuxBridge和OVS。实际部署时只需要在Provider+LinuxBridge、Provider+OVS、Self-service+LinuxBridge、Self-service+OVS四种模式中选取其中之一即可。

控制节点

在Self service-LinuxBridge网络类型的控制节点controller执行以下操作。

  1. 安装组件。
    1
    yum -y install openstack-neutron openstack-neutron-ml2 ebtables
    
  2. 编辑配置文件/etc/neutron/neutron.conf。
    1. 打开文件。
      vi /etc/neutron/neutron.conf
    2. 按“i”进入编辑模式,配置以下配置项。
      1. 配置数据库访问。
        1
        2
        [database] 
        connection = mysql+pymysql://neutron:PASSWORD@controller/neutron
        

        将PASSWORD修改为创建Neutron数据库中Neutron用户的密码。

      2. 修改[DEFAULT]模块内容。
        1
        2
        3
        4
        5
        6
        7
        8
        [DEFAULT] 
        core_plugin = ml2 
        service_plugins = router
        transport_url = rabbit://openstack:PASSWORD@controller 
        auth_strategy = keystone 
        notify_nova_on_port_status_changes = true 
        notify_nova_on_port_data_changes = true 
        allow_overlapping_ips = true
        

        将PASSWORD修改为安装RabbitMQ中OpenStack用户的密码。

      3. 配置身份访问。
         1
         2
         3
         4
         5
         6
         7
         8
         9
        10
        [keystone_authtoken] 
        www_authenticate_uri = http://controller:5000 
        auth_url = http://controller:5000 
        memcached_servers = controller:11211 
        auth_type = password 
        project_domain_name = default 
        user_domain_name = default 
        project_name = service 
        username = neutron 
        password = PASSWORD
        

        将PASSWORD修改为创建Neutron数据库中Neutron用户的密码。

      4. 配置[nova]模块参数。
        1
        2
        3
        4
        5
        6
        7
        8
        9
        [nova] 
        auth_url = http://controller:5000 
        auth_type = password 
        project_domain_name = default 
        user_domain_name = default 
        region_name = RegionOne 
        project_name = service 
        username = nova 
        password = PASSWORD
        
        • 配置文件中默认没有该模块,需要新增。
        • 将PASSWORD修改为创建Nova数据库中Nova用户的密码。
      5. 配置锁定路径。
        1
        2
        [oslo_concurrency] 
        lock_path = /var/lib/neutron/tmp
        
    3. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。
  3. 编辑ML2插件/etc/neutron/plugins/ml2/ml2_conf.ini。
    1. 打开文件。
      vi /etc/neutron/plugins/ml2/ml2_conf.ini
    2. 按“i”进入编辑模式,添加如下内容以新建[ml2]、[ml2_type_flat]、[ml2_type_vlan]和[securitygroup],并启用flat、vlan和vxlan网络。
       1
       2
       3
       4
       5
       6
       7
       8
       9
      10
      11
      12
      13
      [ml2] 
      type_drivers = flat,vlan,vxlan 
      tenant_network_types = vxlan
      mechanism_drivers = linuxbridge,l2population 
      extension_drivers = port_security 
      [ml2_type_flat] 
      flat_networks = provider-arm,provider-x86 
      [ml2_type_vlan] 
      network_vlan_ranges = provider-arm,provider-x86 
      [ml2_type_vxlan] 
      vni_ranges = 1:1000 
      [securitygroup] 
      enable_ipset = true
      
    3. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。
  4. 确保您的Linux操作系统内核支持网桥过滤器。
    1. 打开文件“/etc/sysctl.conf”。
      vi /etc/sysctl.conf
    2. 按“i”进入编辑模式,增加如下配置信息:
      1
      2
      net.bridge.bridge-nf-call-iptables = 1 
      net.bridge.bridge-nf-call-ip6tables = 1
      

    3. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。
  5. 运行以下命令,添加网桥过滤器。
    1
    2
    3
    modprobe br_netfilter
    sysctl -p
    sed -i '$amodprobe br_netfilter' /etc/rc.local
    
  6. 创建网络初始化。
    1
    ln -s /etc/neutron/plugins/ml2/ml2_conf.ini /etc/neutron/plugin.ini
    
  7. 填充数据库。
    1
    2
    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
    
  8. 启动网络服务并配置为系统引导时启动。
    1
    2
    systemctl enable neutron-server.service
    systemctl start neutron-server.service
    

网络节点

在Self service-LinuxBridge网络类型的网络节点(x86-compute和arm-compute)执行以下操作。

  1. 安装组件。
    1
    yum -y install openstack-neutron openstack-neutron-ml2 openstack-neutron-linuxbridge ebtables
    
  2. 配置公共组件。
    1. 打开“/etc/neutron/neutron.conf”文件。
      vi /etc/neutron/neutron.conf
    2. 按“i”进入编辑模式,完成以下配置。
      1. 指定使用RabbitMQ作为消息队列的连接信息。
        1
        2
        [DEFAULT] 
        transport_url = rabbit://openstack:PASSWORD@controller
        

        将PASSWORD修改为安装RabbitMQ中OpenStack用户的密码。

      2. 配置身份访问服务。
         1
         2
         3
         4
         5
         6
         7
         8
         9
        10
        11
        12
        [DEFAULT] 
        auth_strategy = keystone 
        [keystone_authtoken] 
        www_authenticate_uri = http://controller:5000 
        auth_url = http://controller:5000 
        memcached_servers = controller:11211 
        auth_type = password 
        project_domain_name = default 
        user_domain_name = default 
        project_name = service 
        username = neutron 
        password = PASSWORD
        

        将PASSWORD修改为创建Neutron数据库中Neutron用户的密码。

      3. 配置锁定路径。
        1
        2
        [oslo_concurrency] 
        lock_path = /var/lib/neutron/tmp
        
    3. 按“Esc”键退出编辑模式,输入:wq!,按“Enter”键保存并退出文件。
  3. 配置DHCP代理。
    1. 打开“/etc/neutron/dhcp_agent.ini”文件。
      vi /etc/neutron/dhcp_agent.ini
    2. 按“i”进入编辑模式,完成以下配置:
      • 对于x86网络节点,属于az-x86,新增如下配置。
        1
        2
        3
        4
        5
        6
        [DEFAULT]
        interface_driver = linuxbridge 
        dhcp_driver = neutron.agent.linux.dhcp.Dnsmasq 
        enable_isolated_metadata = true 
        [AGENT] 
        availability_zone = az-x86
        
      • 对于ARM网络节点,属于az-arm,新增如下配置。
        1
        2
        3
        4
        5
        6
        [DEFAULT]
        interface_driver = linuxbridge 
        dhcp_driver = neutron.agent.linux.dhcp.Dnsmasq 
        enable_isolated_metadata = true 
        [AGENT] 
        availability_zone = az-arm
        
    3. 按“Esc”键退出编辑模式,输入:wq!,按“Enter”键保存并退出文件。
  4. 配置元数据代理。
    1. 打开“/etc/neutron/metadata_agent.ini”文件。
      vi /etc/neutron/metadata_agent.ini
    2. 按“i”进入编辑模式,配置元数据主机和共享秘钥。
      1
      2
      3
      [DEFAULT] 
      nova_metadata_host = controller 
      metadata_proxy_shared_secret = PASSWORD
      

      此处PASSWORD使用创建Neutron数据库中Neutron用户的密码。

    3. 按“Esc”键退出编辑模式,输入:wq!,按“Enter”键保存并退出文件。
  5. 配置L3 agent。
    1. 打开“/etc/neutron/l3_agent.ini”文件。
      vi /etc/neutron/l3_agent.ini
    2. 按“i”进入编辑模式,完成以下配置:
      • 对于x86网络节点,属于az-x86,新增如下配置后保存并退出。
        1
        2
        3
        4
        [DEFAULT]
        interface_driver = linuxbridge
        [AGENT] 
        availability_zone = az-x86
        
      • 对于ARM网络节点,属于az-arm,新增如下配置后保存并退出。
        1
        2
        3
        4
        [DEFAULT]
        interface_driver = linuxbridge
        [AGENT] 
        availability_zone = az-arm
        
    3. 按“Esc”键退出编辑模式,输入:wq!,按“Enter”键保存并退出文件。
  6. 配置Linux桥代理。
    1. 打开“/etc/neutron/plugins/ml2/linuxbridge_agent.ini”文件。
      vi /etc/neutron/plugins/ml2/linuxbridge_agent.ini
    2. 按“i”进入编辑模式,将Provider虚拟网络映射到物理网络。
      1. 对于x86网络节点,属于az-x86,配置provider-x86:
        1
        2
        [linux_bridge] 
        physical_interface_mappings = provider-x86:enp64s0
        
        对于ARM网络节点,属于az-arm,配置provider-arm:
        1
        2
        [linux_bridge] 
        physical_interface_mappings = provider-arm:enp64s0
        

        此处的provider网络使用的是enp64s0网口,部署时根据实际情况调整。这里不是管理网络所用的物理网卡,是为业务网络准备的网卡,请参见集群环境

      2. 使能vxlan覆盖网络。
        1
        2
        3
        4
        [vxlan] 
        enable_vxlan = true 
        local_ip = 192.168.100.121 
        l2_population = true
        

        local_ip为当前网络节点的管理IP地址。

      3. 启用安全组并配置Linux网桥iptables防火墙驱动程序。
        1
        2
        3
        [securitygroup] 
        enable_security_group = true 
        firewall_driver = neutron.agent.linux.iptables_firewall.IptablesFirewallDriver
        
    3. 按“Esc”键退出编辑模式,输入:wq!,按“Enter”键保存并退出文件。
  7. 确保您的Linux操作系统内核支持网桥过滤器。
    1. 打开“/etc/sysctl.conf”文件。
      vi /etc/sysctl.conf
    2. 按“i”进入编辑模式,在文件中添加如下信息:
      1
      2
      net.bridge.bridge-nf-call-iptables = 1 
      net.bridge.bridge-nf-call-ip6tables = 1
      

    3. 按“Esc”键退出编辑模式,输入:wq!,按“Enter”键保存并退出文件。
  8. 添加网桥过滤器。
    1
    2
    3
    modprobe br_netfilter
    sysctl -p
    sed -i '$amodprobe br_netfilter' /etc/rc.local
    
  9. 启动网络服务并配置为系统引导时启动。
    1
    2
    3
    4
    systemctl enable neutron-linuxbridge-agent.service neutron-dhcp-agent.service \
    neutron-metadata-agent.service neutron-l3-agent.service
    systemctl start neutron-linuxbridge-agent.service neutron-dhcp-agent.service \
    neutron-metadata-agent.service neutron-l3-agent.service
    

计算节点

在Self service-LinuxBridge网络类型的计算节点(x86-compute和arm-compute)执行以下操作。由于当前将网络节点和计算节点合部在同一节点上,会存在部分重复的配置,跳过这些配置即可。

  1. 安装组件。
    1
    yum -y install openstack-neutron-linuxbridge ebtables ipset
    
  2. 配置公共组件.
    1. 打开“/etc/neutron/neutron.conf”文件。
      vi /etc/neutron/neutron.conf
    2. 按“i”进入编辑模式,完成以下配置。
      1. 配置RabbitMQ消息队列访问。
        1
        2
        [DEFAULT] 
        transport_url = rabbit://openstack:PASSWORD@controller
        

        将PASSWORD修改为安装RabbitMQ中OpenStack用户的密码。

      2. 配置身份访问服务。
         1
         2
         3
         4
         5
         6
         7
         8
         9
        10
        11
        12
        [DEFAULT] 
        auth_strategy = keystone 
        [keystone_authtoken] 
        www_authenticate_uri = http://controller:5000 
        auth_url = http://controller:5000 
        memcached_servers = controller:11211 
        auth_type = password 
        project_domain_name = default 
        user_domain_name = default 
        project_name = service 
        username = neutron 
        password = PASSWORD
        

        将PASSWORD修改为创建Neutron数据库中Neutron用户的密码。

      3. 配置锁定路径。
        1
        2
        [oslo_concurrency] 
        lock_path = /var/lib/neutron/tmp
        
    3. 按“Esc”键退出编辑模式,输入:wq!,按“Enter”键保存并退出文件。
  3. 配置Linux桥代理。
    1. 打开“/etc/neutron/plugins/ml2/linuxbridge_agent.ini”文件。
      vi /etc/neutron/plugins/ml2/linuxbridge_agent.ini
    2. 按“i”进入编辑模式,添加以下3项配置。
      1. 提供者虚拟网络映射到提供者物理网络接口。
        • 对于x86计算节点,属于az-x86,配置provider-x86:
          1
          2
          [linux_bridge] 
          physical_interface_mappings = provider-x86:enp64s0
          
        • 对于ARM计算节点,属于az-arm,配置provider-arm:
          1
          2
          [linux_bridge] 
          physical_interface_mappings = provider-arm:enp64s0
          

        此处的provider网络使用的是enp64s0网口,部署时根据实际情况调整。这里不是管理网络所用的物理网卡,是为业务网络准备的网卡,请参见集群环境

      2. 使能vxlan覆盖网络。
        1
        2
        3
        4
        [vxlan] 
        enable_vxlan = true 
        local_ip = 192.168.100.121 
        l2_population = true
        

        local_ip为计算节点的管理IP地址。

      3. 启用安全组并配置Linux网桥iptables防火墙驱动程序。
        1
        2
        3
        4
        [securitygroup] 
        enable_security_group = true 
        firewall_driver = 
        neutron.agent.linux.iptables_firewall.IptablesFirewallDriver
        
    3. 按“Esc”键退出编辑模式,输入:wq!,按“Enter”键保存并退出文件。
  4. 确保您的Linux操作系统内核支持网桥过滤器。
    1. 打开“/etc/sysctl.conf”文件。
      vi /etc/sysctl.conf
    2. 在文件中添加如下信息:
      1
      2
      net.bridge.bridge-nf-call-iptables = 1 
      net.bridge.bridge-nf-call-ip6tables = 1
      

    3. 按“Esc”键退出编辑模式,输入:wq!,按“Enter”键保存并退出文件。
  5. 运行以下命令,添加网桥过滤器。
    1
    2
    3
    modprobe br_netfilter
    sysctl -p
    sed -i '$amodprobe br_netfilter' /etc/rc.local
    
  6. 启动Linux网桥代理并将其配置为在系统引导时启动。
    1
    2
    systemctl enable neutron-linuxbridge-agent.service
    systemctl start neutron-linuxbridge-agent.service
    
搜索结果
找到“0”个结果

当前产品无相关内容

未找到相关内容,请尝试其他搜索词