ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

nova安装(wallaby-allinone)

2022-01-18 11:31:50  阅读:195  来源: 互联网

标签:compute service http nova controller allinone openstack wallaby


nova安装(wallaby-allinone)

本节介绍如何在控制器节点上安装和配置代号为nova的Compute服务。

1 必须

在安装和配置 Compute 服务之前,您必须创建数据库、服务凭证和 API 端点。

  1. 要创建数据库,请完成以下步骤:

    • 使用数据库访问客户端以root用户身份连接数据库服务器:

      $ mysql -u root -p
      
    • 创建nova_apinovanova_cell0数据库:

      MariaDB [(none)]> CREATE DATABASE nova_api;
      MariaDB [(none)]> CREATE DATABASE nova;
      MariaDB [(none)]> CREATE DATABASE nova_cell0;
      
    • 授予对数据库的适当访问权限:

      MariaDB [(none)]> GRANT ALL PRIVILEGES ON nova_api.* TO 'nova'@'localhost' IDENTIFIED BY 'NOVA_DBPASS';
      MariaDB [(none)]> GRANT ALL PRIVILEGES ON nova_api.* TO 'nova'@'%' IDENTIFIED BY 'NOVA_DBPASS';
      
      MariaDB [(none)]> GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'localhost' IDENTIFIED BY 'NOVA_DBPASS';
      MariaDB [(none)]> GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'%' IDENTIFIED BY 'NOVA_DBPASS';
      
      MariaDB [(none)]> GRANT ALL PRIVILEGES ON nova_cell0.* TO 'nova'@'localhost' IDENTIFIED BY 'NOVA_DBPASS';
      MariaDB [(none)]> GRANT ALL PRIVILEGES ON nova_cell0.* TO 'nova'@'%' IDENTIFIED BY 'NOVA_DBPASS';
      

      替换NOVA_DBPASS为合适的密码。这里为123456

    • 退出数据库访问客户端。

      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6OqMJ2wB-1642475975758)(C:\Users\10973\AppData\Roaming\Typora\typora-user-images\image-20211130195010888.png)]

  2. 来源admin凭据来访问仅管理员CLI命令:

    $ . admin-openrc.sh
    
  3. 创建计算服务凭证:

    • 创建nova用户:

      $ openstack user create --domain default --password-prompt nova
      
      User Password:
      Repeat User Password:
      +---------------------+----------------------------------+
      | Field               | Value                            |
      +---------------------+----------------------------------+
      | domain_id           | default                          |
      | enabled             | True                             |
      | id                  | 8a7dbf5279404537b1c7b86c033620fe |
      | name                | nova                             |
      | options             | {}                               |
      | password_expires_at | None                             |
      +---------------------+----------------------------------+
      

      密码为123456

      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jdeHGOYh-1642475975760)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20211110181904559.png)]

    • adminnova用户添加角色:

      $ openstack role add --project service --user nova admin
      

      此命令不提供任何输出。

    • 创建nova服务实体:

      $ openstack service create --name nova --description "OpenStack Compute" compute
      
      +-------------+----------------------------------+
      | Field       | Value                            |
      +-------------+----------------------------------+
      | description | OpenStack Compute                |
      | enabled     | True                             |
      | id          | 060d59eac51b4594815603d75a00aba2 |
      | name        | nova                             |
      | type        | compute                          |
      +-------------+----------------------------------+
      
  4. 创建 Compute API 服务端点:

    $ openstack endpoint create --region RegionOne compute public http://controller:8774/v2.1
    
    +--------------+-------------------------------------------+
    | Field        | Value                                     |
    +--------------+-------------------------------------------+
    | enabled      | True                                      |
    | id           | 3c1caa473bfe4390a11e7177894bcc7b          |
    | interface    | public                                    |
    | region       | RegionOne                                 |
    | region_id    | RegionOne                                 |
    | service_id   | 060d59eac51b4594815603d75a00aba2          |
    | service_name | nova                                      |
    | service_type | compute                                   |
    | url          | http://controller:8774/v2.1               |
    +--------------+-------------------------------------------+
    
    $ openstack endpoint create --region RegionOne compute internal http://controller:8774/v2.1
    
    +--------------+-------------------------------------------+
    | Field        | Value                                     |
    +--------------+-------------------------------------------+
    | enabled      | True                                      |
    | id           | e3c918de680746a586eac1f2d9bc10ab          |
    | interface    | internal                                  |
    | region       | RegionOne                                 |
    | region_id    | RegionOne                                 |
    | service_id   | 060d59eac51b4594815603d75a00aba2          |
    | service_name | nova                                      |
    | service_type | compute                                   |
    | url          | http://controller:8774/v2.1               |
    +--------------+-------------------------------------------+
    
    $ openstack endpoint create --region RegionOne compute admin http://controller:8774/v2.1
    
    +--------------+-------------------------------------------+
    | Field        | Value                                     |
    +--------------+-------------------------------------------+
    | enabled      | True                                      |
    | id           | 38f7af91666a47cfb97b4dc790b94424          |
    | interface    | admin                                     |
    | region       | RegionOne                                 |
    | region_id    | RegionOne                                 |
    | service_id   | 060d59eac51b4594815603d75a00aba2          |
    | service_name | nova                                      |
    | service_type | compute                                   |
    | url          | http://controller:8774/v2.1               |
    +--------------+-------------------------------------------+
    
  5. 安装 Placement 服务并配置用户和端点:

安装和配置组件

默认配置文件因发行版而异。您可能需要添加这些部分和选项,而不是修改现有的部分和选项。此外,...配置片段中的省略号 ( ) 表示您应该保留的潜在默认配置选项。

  1. 安装软件包:

    openstack-nova-conductor 提供数据库连接等功能

    openstack-nova-novncproxy 远程访问云主机

    openstack-nova-scheduler 资源统一调度

    # yum install openstack-nova-api openstack-nova-conductor openstack-nova-novncproxy openstack-nova-scheduler -y
    
  2. 编辑/etc/nova/nova.conf文件并完成以下操作:

    • 在该[DEFAULT]部分中,仅启用计算和元数据 API:

      [DEFAULT]
      # ...
      enabled_apis = osapi_compute,metadata
      
    • [api_database][database]部分,配置数据库访问:

      [api_database]
      # ...
      connection = mysql+pymysql://nova:NOVA_DBPASS@controller/nova_api
      
      [database]
      # ...
      connection = mysql+pymysql://nova:NOVA_DBPASS@controller/nova
      

      替换NOVA_DBPASS为您为 Compute 数据库选择的密码。 这里为123456

    • 在该[DEFAULT]部分,配置RabbitMQ消息队列访问:

      [DEFAULT]
      # ...
      transport_url = rabbit://openstack:123456@controller:5672/
      
    • [api][keystone_authtoken]部分,配置身份服务访问:

      [api]
      # ...
      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 = nova
      password = NOVA_PASS
      

    替换NOVA_PASS为您nova在身份服务中为用户选择的密码。这里为123456

注释掉或删除该[keystone_authtoken] 部分中的任何其他选项。

  • 在该[DEFAULT]部分中,配置my_ip选项以使用控制器节点的管理接口 IP 地址:

    [DEFAULT]
    # 
    my_ip = 172.31.7.120 #这里是controller主机的ip地址
    
  • 配置**/etc/nova/nova.conf**的[neutron]部分。有关更多详细信息,请参阅网络服务安装指南

  • 在该[glance]部分中,配置 Image 服务 API 的位置:

    [glance]
    # ...
    api_servers = http://controller:9292
    
  • 在该[oslo_concurrency]部分中,配置锁定路径:

    [oslo_concurrency]
    # ...
    lock_path = /var/lib/nova/tmp
    
  • [placement]部分中,配置对 Placement 服务的访问:

    [placement]
    # ...
    region_name = RegionOne
    project_domain_name = Default
    project_name = service
    auth_type = password
    user_domain_name = Default
    auth_url = http://controller:5000/v3
    username = placement
    password = PLACEMENT_PASS
    

    替换PLACEMENT_PASS为您为placement安装Placement时创建的服务用户 选择的密码 。注释掉或删除该[placement]部分中的任何其他选项。

  1. 填充nova-api数据库:

    su -s /bin/sh -c "nova-manage api_db sync" nova
    

    忽略此输出中的任何弃用消息。

  2. 注册cell0数据库:

    su -s /bin/sh -c "nova-manage cell_v2 map_cell0" nova
    

    这里也要讲policy.json转化为policy.yaml

    cd /etc/nova/
    ls
    
    oslopolicy-convert-json-to-yaml --namespace placement --policy-file policy.json --output-file policy.yaml
    cp policy.json policy.json.bak
    rm -r policy.json
    su -s /bin/sh -c "nova-manage cell_v2 map_cell0" nova
    
  3. 创建cell1单元格:

    # su -s /bin/sh -c "nova-manage cell_v2 create_cell --name=cell1 --verbose" nova
    

    填充 nova 数据库:

    # su -s /bin/sh -c "nova-manage db sync" nova
    
  4. 验证 nova cell0 和 cell1 是否正确注册:

    # su -s /bin/sh -c "nova-manage cell_v2 list_cells" nova
    +-------+--------------------------------------+----------------------------------------------------+--------------------------------------------------------------+----------+
    |  Name |                 UUID                 |                   Transport URL                    |                     Database Connection                      | Disabled |
    +-------+--------------------------------------+----------------------------------------------------+--------------------------------------------------------------+----------+
    | cell0 | 00000000-0000-0000-0000-000000000000 |                       none:/                       | mysql+pymysql://nova:****@controller/nova_cell0?charset=utf8 |  False   |
    | cell1 | f690f4fd-2bc5-4f15-8145-db561a7b9d3d | rabbit://openstack:****@controller:5672/nova_cell1 | mysql+pymysql://nova:****@controller/nova_cell1?charset=utf8 |  False   |
    +-------+--------------------------------------+----------------------------------------------------+--------------------------------------------------------------+----------+
    

数据库中也是有数据的

完成安装

  • 启动 Compute 服务并将它们配置为在系统启动时启动:

    systemctl enable openstack-nova-api.service openstack-nova-scheduler.service openstack-nova-conductor.service openstack-nova-novncproxy.service
    systemctl start openstack-nova-api.service openstack-nova-scheduler.service openstack-nova-conductor.service openstack-nova-novncproxy.service
    systemctl status openstack-nova-api.service openstack-nova-scheduler.service openstack-nova-conductor.service openstack-nova-novncproxy.service
    

compute节点(由于是allinone,所以在同一台机器简单部署)

安装和配置组件

  1. 安装软件包:

    # yum install openstack-nova-compute -y
    
  2. 编辑/etc/nova/nova.conf文件并完成以下操作:

    • 在该[DEFAULT]部分中,配置my_ip选项:

      [DEFAULT]
      # firewall
      use_neutron = true
      firewall_driver = nova.virt.firewall.NoopFirewallDriver
      
    • [vnc]部分中,启用和配置远程控制台访问:

      [vnc]
      # ...vnc
      enabled = true
      server_listen = 0.0.0.0
      server_proxyclient_address = $my_ip
      novncproxy_base_url = http://controller:6080/vnc_auto.html
      

      服务器组件侦听所有 IP 地址,代理组件仅侦听计算节点的管理接口 IP 地址。基本 URL 指示您可以使用 Web 浏览器访问此计算节点上实例的远程控制台的位置。

      如果用于访问远程控制台的 Web 浏览器驻留在无法解析controller主机名的主机上,则必须替换 controller为控制器节点的管理接口 IP 地址。

完成安装

  1. 确定您的计算节点是否支持虚拟机的硬件加速:

    $ egrep -c '(vmx|svm)' /proc/cpuinfo
    

    如果此命令返回值one or greater,则您的计算节点支持硬件加速,这通常不需要额外配置。

    如果此命令返回值zero,则您的计算节点不支持硬件加速,您必须配置libvirt为使用 QEMU 而不是 KVM。

    • 编辑文件中的[libvirt]部分,/etc/nova/nova.conf如下所示:

      [libvirt]
      # ...
      virt_type = qemu
      
  2. 启动 Compute 服务及其依赖项,并将它们配置为在系统启动时自动启动:

    systemctl enable libvirtd.service openstack-nova-compute.service
    systemctl start libvirtd.service openstack-nova-compute.service
    

如果nova-compute服务无法启动,请检查 /var/log/nova/nova-compute.log。该错误消息可能表明控制器节点上的防火墙阻止访问端口 5672。将防火墙配置为打开控制器节点上的端口 5672 并重新启动 计算节点上的服务。AMQP server on controller:5672 is unreachable``nova-compute

将计算节点添加到cell数据库中

控制器节点上运行以下命令。

  1. 获取管理员凭据以启用仅限管理员的 CLI 命令,然后确认数据库中有计算主机:

    $ . admin-openrc.sh
    
    $ openstack compute service list --service nova-compute
    +----+-------+--------------+------+-------+---------+----------------------------+
    | ID | Host  | Binary       | Zone | State | Status  | Updated At                 |
    +----+-------+--------------+------+-------+---------+----------------------------+
    | 1  | node1 | nova-compute | nova | up    | enabled | 2017-04-14T15:30:44.000000 |
    +----+-------+--------------+------+-------+---------+----------------------------+
    
  2. 发现计算主机:

    # su -s /bin/sh -c "nova-manage cell_v2 discover_hosts --verbose" nova
    
    Found 2 cell mappings.
    Skipping cell0 since it does not contain hosts.
    Getting compute nodes from cell 'cell1': ad5a5985-a719-4567-98d8-8d148aaae4bc
    Found 1 computes in cell: ad5a5985-a719-4567-98d8-8d148aaae4bc
    Checking host mapping for compute host 'compute': fe58ddc1-1d65-4f87-9456-bc040dc106b3
    Creating host mapping for compute host 'compute': fe58ddc1-1d65-4f87-9456-bc040dc106b3
    

    添加新计算节点时,您必须在控制器节点上运行nova-manage cell_v2 discover_hosts以注册这些新计算节点。或者,您可以在/etc/nova/nova.conf中设置适当的间隔 :

    [scheduler]
    discover_hosts_in_cells_interval = 300
    
    
    

验证操作

验证计算服务的运行。

在控制器节点上执行这些命令。

  1. 来源admin凭据来访问仅管理员CLI命令:
   $ . admin-openrc.sh
  1. 列出服务组件以验证每个进程的成功启动和注册:
   $ openstack compute service list

   +----+--------------------+------------+----------+---------+-------+----------------------------+
   | Id | Binary             | Host       | Zone     | Status  | State | Updated At                 |
   +----+--------------------+------------+----------+---------+-------+----------------------------+
   |  1 | nova-scheduler     | controller | internal | enabled | up    | 2016-02-09T23:11:15.000000 |
   |  2 | nova-conductor     | controller | internal | enabled | up    | 2016-02-09T23:11:16.000000 |
   |  3 | nova-compute       | compute1   | nova     | enabled | up    | 2016-02-09T23:11:20.000000 |
   +----+--------------------+------------+----------+---------+-------+----------------------------+

此输出应指示在控制器节点上启用的两个服务组件和在计算节点上启用的一个服务组件。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-REuoiHpj-1642475975761)(C:\Users\10973\AppData\Roaming\Typora\typora-user-images\image-20211201135730943.png)]

  1. 列出身份服务中的 API 端点以验证与身份服务的连接:

    以下端点列表可能因 OpenStack 组件的安装而异。

   $ openstack catalog list

   +-----------+-----------+-----------------------------------------+
   | Name      | Type      | Endpoints                               |
   +-----------+-----------+-----------------------------------------+
   | keystone  | identity  | RegionOne                               |
   |           |           |   public: http://controller:5000/v3/    |
   |           |           | RegionOne                               |
   |           |           |   internal: http://controller:5000/v3/  |
   |           |           | RegionOne                               |
   |           |           |   admin: http://controller:5000/v3/     |
   |           |           |                                         |
   | glance    | image     | RegionOne                               |
   |           |           |   admin: http://controller:9292         |
   |           |           | RegionOne                               |
   |           |           |   public: http://controller:9292        |
   |           |           | RegionOne                               |
   |           |           |   internal: http://controller:9292      |
   |           |           |                                         |
   | nova      | compute   | RegionOne                               |
   |           |           |   admin: http://controller:8774/v2.1    |
   |           |           | RegionOne                               |
   |           |           |   internal: http://controller:8774/v2.1 |
   |           |           | RegionOne                               |
   |           |           |   public: http://controller:8774/v2.1   |
   |           |           |                                         |
   | placement | placement | RegionOne                               |
   |           |           |   public: http://controller:8778        |
   |           |           | RegionOne                               |
   |           |           |   admin: http://controller:8778         |
   |           |           | RegionOne                               |
   |           |           |   internal: http://controller:8778      |
   |           |           |                                         |
   +-----------+-----------+-----------------------------------------+

忽略此输出中的任何警告。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Oiv9ziQY-1642475975762)(C:\Users\10973\AppData\Roaming\Typora\typora-user-images\image-20211201135748151.png)]

  1. 列出 Image 服务中的图像以验证与 Image 服务的连接:
   $ openstack image list

   +--------------------------------------+-------------+-------------+
   | ID                                   | Name        | Status      |
   +--------------------------------------+-------------+-------------+
   | 9a76d9f9-9620-4f2e-8c69-6c5691fae163 | cirros      | active      |
   +--------------------------------------+-------------+-------------+

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BADgnaYx-1642475975763)(C:\Users\10973\AppData\Roaming\Typora\typora-user-images\image-20211201135814042.png)]

  1. 检查单元和放置 API 是否成功运行,以及其他必要的先决条件是否到位:
   # nova-status upgrade check

   +--------------------------------------------------------------------+
   | Upgrade Check Results                                              |
   +--------------------------------------------------------------------+
   | Check: Cells v2                                                    |
   | Result: Success                                                    |
   | Details: None                                                      |
   +--------------------------------------------------------------------+
   | Check: Placement API                                               |
   | Result: Success                                                    |
   | Details: None                                                      |
   +--------------------------------------------------------------------+
   | Check: Cinder API                                                  |
   | Result: Success                                                    |
   | Details: None                                                      |
   +--------------------------------------------------------------------+
   | Check: Policy Scope-based Defaults                                 |
   | Result: Success                                                    |
   | Details: None                                                      |
   +--------------------------------------------------------------------+
   | Check: Policy File JSON to YAML Migration                          |
   | Result: Success                                                    |
   | Details: None                                                      |
   +--------------------------------------------------------------------+
   | Check: Older than N-1 computes                                     |
   | Result: Success                                                    |
   | Details: None                                                      |
   +--------------------------------------------------------------------+

Nova安装完毕

标签:compute,service,http,nova,controller,allinone,openstack,wallaby
来源: https://blog.csdn.net/weixin_44271177/article/details/122556148

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有