zoukankan      html  css  js  c++  java
  • 6. 安装neutron(控制节点)— OpenStack Queens 三节点部署

    本操作在控制节点上完成

    在keystone中添加用户及服务

    添加neutron用户

    root@controller ~(keystone)# openstack user create --domain default --project service --password root neutron
    +---------------------+----------------------------------+
    | Field               | Value                            |
    +---------------------+----------------------------------+
    | default_project_id  | 2fae0cd7579441f88cab61f4291bfd17 |
    | domain_id           | default                          |
    | enabled             | True                             |
    | id                  | 9096dfa8801342a39393fb9e1c028903 |
    | name                | neutron                          |
    | options             | {}                               |
    | password_expires_at | None                             |
    +---------------------+----------------------------------+
    
    

    为用户添加管理员角色

    root@controller ~(keystone)# openstack role add --project service --user neutron admin
    
    

    创建服务

    root@controller ~(keystone)# openstack service create --name neutron --description "OpenStack Networking service" network
    +-------------+----------------------------------+
    | Field       | Value                            |
    +-------------+----------------------------------+
    | description | OpenStack Networking service     |
    | enabled     | True                             |
    | id          | 55d64b0169344760acbafb3a0c22c3c0 |
    | name        | neutron                          |
    | type        | network                          |
    +-------------+----------------------------------+
    
    

    创建nentron服务endpoint(public,internal,admin)

    root@controller ~(keystone)# openstack endpoint create --region RegionOne network public http://10.0.0.7:9696
    +--------------+----------------------------------+
    | Field        | Value                            |
    +--------------+----------------------------------+
    | enabled      | True                             |
    | id           | 098d368ae5d84927b2f6ee25a5a66b4c |
    | interface    | public                           |
    | region       | RegionOne                        |
    | region_id    | RegionOne                        |
    | service_id   | 55d64b0169344760acbafb3a0c22c3c0 |
    | service_name | neutron                          |
    | service_type | network                          |
    | url          | http://10.0.0.7:9696             |
    +--------------+----------------------------------+
    root@controller ~(keystone)# openstack endpoint create --region RegionOne network internal http://10.0.0.7:9696
    +--------------+----------------------------------+
    | Field        | Value                            |
    +--------------+----------------------------------+
    | enabled      | True                             |
    | id           | 05a979c037cf46afb2ce096ab737f5f5 |
    | interface    | internal                         |
    | region       | RegionOne                        |
    | region_id    | RegionOne                        |
    | service_id   | 55d64b0169344760acbafb3a0c22c3c0 |
    | service_name | neutron                          |
    | service_type | network                          |
    | url          | http://10.0.0.7:9696             |
    +--------------+----------------------------------+
    root@controller ~(keystone)# openstack endpoint create --region RegionOne network admin http://10.0.0.7:9696
    +--------------+----------------------------------+
    | Field        | Value                            |
    +--------------+----------------------------------+
    | enabled      | True                             |
    | id           | 3e34074e55e6404fbe390298f6f5e88c |
    | interface    | admin                            |
    | region       | RegionOne                        |
    | region_id    | RegionOne                        |
    | service_id   | 55d64b0169344760acbafb3a0c22c3c0 |
    | service_name | neutron                          |
    | service_type | network                          |
    | url          | http://10.0.0.7:9696             |
    +--------------+----------------------------------+
    
    

    为neutron添加数据库

    root@controller ~(keystone)# mysql
    Welcome to the MariaDB monitor.  Commands end with ; or g.
    Your MariaDB connection id is 726
    Server version: 10.0.38-MariaDB-0ubuntu0.16.04.1 Ubuntu 16.04
    
    Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
    
    Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.
    
    MariaDB [(none)]> create database neutron_ml2;
    Query OK, 1 row affected (0.18 sec)
    
    MariaDB [(none)]> grant all privileges on neutron_ml2.* to neutron@'localhost' identified by 'root';
    Query OK, 0 rows affected (0.18 sec)
    
    MariaDB [(none)]> grant all privileges on neutron_ml2.* to neutron@'%' identified by 'root';
    Query OK, 0 rows affected (0.00 sec)
    
    MariaDB [(none)]> flush privileges;
    Query OK, 0 rows affected (0.00 sec)
    
    MariaDB [(none)]> exit
    Bye
    
    

    安装配置neutron

    安装neutron服务软件包

    root@controller ~(keystone)# apt -y install neutron-server neutron-metadata-agent neutron-plugin-ml2 python-neutronclient
    

    由于官方配置文件修改较为麻烦,这里直接创建一个新的配置文件

    root@controller ~(keystone)# mv /etc/neutron/neutron.conf /etc/neutron/neutron.conf.org
    root@controller ~(keystone)# vi /etc/neutron/neutron.conf
    
    # 添加以下内容,保存退出
    [DEFAULT]
    core_plugin = ml2
    service_plugins = router
    auth_strategy = keystone
    state_path = /var/lib/neutron
    dhcp_agent_notification = True
    allow_overlapping_ips = True
    notify_nova_on_port_status_changes = True
    notify_nova_on_port_data_changes = True
    transport_url = rabbit://openstack:root@controller
    
    [agent]
    root_helper = sudo /usr/bin/neutron-rootwrap /etc/neutron/rootwrap.conf
    
    [keystone_authtoken]
    auth_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 = root
    
    [database]
    connection = mysql+pymysql://neutron:root@controller/neutron_ml2
    
    [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 = root
    
    [oslo_concurrency]
    lock_path = $state_path/tmp
    

    因为配置文件是新建的,这里把权限加回去

    root@controller ~(keystone)# chmod 640 /etc/neutron/neutron.conf
    root@controller ~(keystone)# chgrp neutron /etc/neutron/neutron.conf
    

    修改元数据代理配置

    root@controller ~(keystone)# vi /etc/neutron/metadata_agent.ini
    
    # 第22行:去掉注释并添加控制节点IP
    nova_metadata_host = 10.0.0.7
     
    # 第34行:去掉注释并输入元数据代理共享密码
    metadata_proxy_shared_secret = metadata_secret
     
    # 第260行:去掉注释并添加控制节点IP
    memcache_servers = 10.0.0.7:11211
    

    修改二层插件配置,使用OVS作为虚拟交换机

    root@controller ~(keystone)# vi /etc/neutron/plugins/ml2/ml2_conf.ini
    
    # 第129行:添加相应设置(tenant_network_types设置暂时留空,之后会设置)
    
    [ml2]
    type_drivers = flat,vlan,gre,vxlan
    tenant_network_types =
    mechanism_drivers = openvswitch,l2population
    extension_drivers = port_security
    
    # 第262行:去掉注释并添加firewall_driver
    
    enable_security_group = True
    firewall_driver = neutron.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver
    
    # 最后一行:取消注释
    enable_ipset = True
    

    修改nova配置文件

    root@controller ~(keystone)# vi /etc/nova/nova.conf
    
    # 把以下设置添加到[DEFAULT]栏目里
    
    use_neutron = True
    linuxnet_interface_driver = nova.network.linux_net.LinuxOVSInterfaceDriver
    firewall_driver = nova.virt.firewall.NoopFirewallDriver
    
    # 在配置文件最后添加新的栏目并填写以下设置,元数据代理共享密码要跟之前设置的一样
    [neutron]
    auth_url = http://controller:5000
    auth_type = password
    project_domain_name = default
    user_domain_name = default
    region_name = RegionOne
    project_name = service
    username = neutron
    password = root
    service_metadata_proxy = True
    metadata_proxy_shared_secret = metadata_secret
    

    创建链接文件、同步数据库、重启服务

    创建链接文件

    root@controller ~(keystone)# ln -s /etc/neutron/plugins/ml2/ml2_conf.ini /etc/neutron/plugin.ini
    

    同步数据库

    root@controller ~(keystone)# su -s /bin/bash neutron -c "neutron-db-manage --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugin.ini upgrade head"
    ...
    ...
    INFO  [alembic.runtime.migration] Running upgrade f83a0b2964d0 -> fd38cd995cc0, change shared attribute for firewall resource
      OK
    

    重启相关服务并设置自启动

    root@controller ~(keystone)# systemctl restart neutron-server neutron-metadata-agent nova-api
    root@controller ~(keystone)# systemctl enable neutron-server neutron-metadata-agent
    Synchronizing state of neutron-server.service with SysV init with /lib/systemd/systemd-sysv-install...
    Executing /lib/systemd/systemd-sysv-install enable neutron-server
    Synchronizing state of neutron-metadata-agent.service with SysV init with /lib/systemd/systemd-sysv-install...
    Executing /lib/systemd/systemd-sysv-install enable neutron-metadata-agent
    

    参考

  • 相关阅读:
    ionic3开发环境搭建与配置(win10系统)
    angular4打包以后,刷新报404
    css3文字渐变无效果的解决方案
    node-sass安装失败的解决方案
    python logging 重复写日志问题
    进程和线程的概念
    软件开发目录规范
    相对导入
    python引入导入自定义模块和外部文件
    异常处理
  • 原文地址:https://www.cnblogs.com/zhaoyixin96/p/openstack-queens-6.html
Copyright © 2011-2022 走看看