centos7-1810部署2节点OpenStack的R版本 —— 五、安装nova服务

参考官方文档:https://docs.openstack.org/install-guide/index.html

https://docs.openstack.org/nova/rocky/install/

概述:https://docs.openstack.org/nova/rocky/install/get-started-compute.html


五、安装nova服务

目录

五、安装nova服务

(一)安装和配置控制器节点

1、前提条件:

2、安装和配置的部件

3、最终确定安装

 

(二)安装和配置计算节点

1、安装和配置的部件

2、最终确定安装

3、将计算节点添加到单元数据库中

(三)验证操作



(一)安装和配置控制器节点

1、前提条件:

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

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

  • 使用数据库访问客户端以root用户身份连接到数据库服务器:
mysql -u root -p
  • 创建nova_apinovanova_cell0,和placement数据库:
MariaDB [(none)]> CREATE DATABASE nova_api;
MariaDB [(none)]> CREATE DATABASE nova;
MariaDB [(none)]> CREATE DATABASE nova_cell0;
MariaDB [(none)]> CREATE DATABASE placement;
  • 授予对数据库的适当访问权限:
GRANT ALL PRIVILEGES ON nova_api.* TO 'nova'@'localhost' \
  IDENTIFIED BY 'nova';
GRANT ALL PRIVILEGES ON nova_api.* TO 'nova'@'%' \
  IDENTIFIED BY 'nova';

GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'localhost' \
  IDENTIFIED BY 'nova';
GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'%' \
  IDENTIFIED BY 'nova';

GRANT ALL PRIVILEGES ON nova_cell0.* TO 'nova'@'localhost' \
  IDENTIFIED BY 'nova';
GRANT ALL PRIVILEGES ON nova_cell0.* TO 'nova'@'%' \
  IDENTIFIED BY 'nova';

GRANT ALL PRIVILEGES ON placement.* TO 'placement'@'localhost' \
  IDENTIFIED BY 'placement';
GRANT ALL PRIVILEGES ON placement.* TO 'placement'@'%' \
  IDENTIFIED BY 'placement';
  • 退出数据库访问客户端。

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

$ . admin-openrc

(3)创建计算服务凭据:

  • 创建nova用户:
openstack user create --domain default --password-prompt nova
  • adminnova用户添加角色:
openstack role add --project service --user nova admin
  • 创建nova服务实体:
openstack service create --name nova \
  --description "OpenStack Compute" compute

(4)创建Compute API服务端点:

openstack endpoint create --region RegionOne \
  compute public http://controller:8774/v2.1
openstack endpoint create --region RegionOne \
  compute internal http://controller:8774/v2.1
 openstack endpoint create --region RegionOne \
  compute admin http://controller:8774/v2.1

(5)使用您选择的来创建展示位置服务用户PLACEMENT_PASS

openstack user create --domain default --password-prompt placement

(6)使用管理员角色将Placement用户添加到服务项目中:

openstack role add --project service --user placement admin

(7)在服务目录中创建Placement API条目:

openstack service create --name placement \
  --description "Placement API" placement

(8)创建Placement API服务端点:

openstack endpoint create --region RegionOne \
  placement public http://controller:8778
openstack endpoint create --region RegionOne \
  placement internal http://controller:8778
openstack endpoint create --region RegionOne \
  placement admin http://controller:8778

2、安装和配置的部件

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

(1)安装软件包:

yum install openstack-nova-api openstack-nova-conductor \
  openstack-nova-console openstack-nova-novncproxy \
  openstack-nova-scheduler openstack-nova-placement-api

(2)编辑/etc/nova/nova.conf文件并完成以下操作:

  • 在此[DEFAULT]部分中,仅启用计算和元数据API:
[DEFAULT]
# ...
enabled_apis = osapi_compute,metadata
  • [api_database][database][placement_database] 部分,配置数据库访问:
[api_database]
# ...
connection = mysql+pymysql://nova:nova@controller/nova_api

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

[placement_database]
# ...
connection = mysql+pymysql://placement:placement@controller/placement
  • 在该[DEFAULT]部分中,配置RabbitMQ消息队列访问:
[DEFAULT]
# ...
transport_url = rabbit://openstack:openstack@controller
  • [api][keystone_authtoken]部分中,配置身份服务访问:
[api]
# ...
auth_strategy = keystone

[keystone_authtoken]
# ...
auth_url = http://controller:5000/v3
memcached_servers = controller:11211
auth_type = password
project_domain_name = Default
user_domain_name = Default
project_name = service
username = nova
password = nova

  • 在该[DEFAULT]部分中,配置my_ip选项以使用控制器节点的管理接口IP地址:
[DEFAULT]
# ...
my_ip = 192.168.1.10
  • 在本[DEFAULT]节中,启用对网络服务的支持:
[DEFAULT]
# ...
use_neutron = true
firewall_driver = nova.virt.firewall.NoopFirewallDriver

  • 配置/etc/nova/nova.conf[neutron]部分。有关更多详细信息,请参阅neutron部分。

 

  • 在该[vnc]部分中,将VNC代理配置为使用控制器节点的管理接口IP地址:
[vnc]
enabled = true
# ...
server_listen = $my_ip
server_proxyclient_address = $my_ip
  • 在该[glance]部分中,配置图像服务API的位置:
[glance]
# ...
api_servers = http://controller:9292
  • 在该[oslo_concurrency]部分中,配置锁定路径:
[oslo_concurrency]
# ...
lock_path = /var/lib/nova/tmp
  • 在该[placement]部分中,配置Placement API:
[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

  • 由于包装错误,您必须通过将以下配置添加到来启用对Placement API的访问 /etc/httpd/conf.d/00-nova-placement-api.conf
<Directory /usr/bin>
   <IfVersion >= 2.4>
      Require all granted
   </IfVersion>
   <IfVersion < 2.4>
      Order allow,deny
      Allow from all
   </IfVersion>
</Directory>
  • 重新启动httpd服务:
systemctl restart httpd

(3)填充nova-apiplacement数据库:

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

(4)注册cell0数据库:

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

(5)创建cell1单元格:

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

(6)填充nova数据库:

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

(7)验证nova cell0和cell1是否正确注册:

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

3、最终确定安装

启动Compute服务并将其配置为在系统启动时启动:

# systemctl enable openstack-nova-api.service \
  openstack-nova-consoleauth openstack-nova-scheduler.service \
  openstack-nova-conductor.service openstack-nova-novncproxy.service
# systemctl start openstack-nova-api.service \
  openstack-nova-consoleauth openstack-nova-scheduler.service \
  openstack-nova-conductor.service openstack-nova-novncproxy.service

 


 

(二)安装和配置计算节点

本节介绍如何在计算节点上安装和配置Compute服务。该服务支持多个虚拟机管理程序以部署实例或虚拟机(VM)。为简单起见,此配置在支持虚拟机硬件加速的计算节点上使用具有基于内核的VM(KVM)扩展的Quick EMUlator(QEMU)管理程序。在旧硬件上,此配置使用通用QEMU管理程序。您可以对这些说明进行少量修改,以通过其他计算节点水平扩展您的环境。

1、安装和配置的部件

(1)安装软件包:

yum install openstack-nova-compute

(2)编辑/etc/nova/nova.conf文件并完成以下操作:

  • 在此[DEFAULT]部分中,仅启用计算和元数据API:
[DEFAULT]
# ...
enabled_apis = osapi_compute,metadata
  • 在该[DEFAULT]部分中,配置RabbitMQ消息队列访问:
[DEFAULT]
# ...
transport_url = rabbit://openstack:openstack@controller
  • [api][keystone_authtoken]部分中,配置身份服务访问:
[api]
# ...
auth_strategy = keystone

[keystone_authtoken]
# ...
auth_url = http://controller:5000/v3
memcached_servers = controller:11211
auth_type = password
project_domain_name = Default
user_domain_name = Default
project_name = service
username = nova
password = nova

  • 在该[DEFAULT]部分中,配置my_ip选项:
[DEFAULT]
# ...
my_ip = 192.168.1.20
  • 在本[DEFAULT]节中,启用对网络服务的支持:
[DEFAULT]
# ...
use_neutron = true
firewall_driver = nova.virt.firewall.NoopFirewallDriver

  • 配置/etc/nova/nova.conf[neutron]部分。 有关更多详细信息,请参阅网络服务安装指南
  • 在该[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浏览器访问此计算节点上的实例的远程控制台的位置。

  • 在该[glance]部分中,配置图像服务API的位置:
[glance]
# ...
api_servers = http://controller:9292
  • 在该[oslo_concurrency]部分中,配置锁定路径:
[oslo_concurrency]
# ...
lock_path = /var/lib/nova/tmp
  • 在该[placement]部分中,配置Placement API:
[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

2、最终确定安装

(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

3、将计算节点添加到单元数据库中

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

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

$ . admin-openrc

$ openstack compute service list --service nova-compute

(2)发现计算主机:

su -s /bin/sh -c "nova-manage cell_v2 discover_hosts --verbose" nova

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

When you add new compute nodes, you must run nova-manage cell_v2 discover_hosts on the controller node to register those new compute nodes. Alternatively, you can set an appropriate interval in /etc/nova/nova.conf:

[scheduler]
discover_hosts_in_cells_interval = 300

(三)验证操作

验证计算服务的运行。控制器节点上执行这些命令。

1、来源admin凭据来访问仅管理员CLI命令:

. admin-openrc

2、列出服务组件以验证每个进程的成功启动和注册:

openstack compute service list

3、列出身份服务中的API端点以验证与身份服务的连接性:

openstack catalog list

4、在图像服务中列出图像以验证与图像服务的连接性:

openstack image list

5、检查单元格和展示位置API是否正常运行:

nova-status upgrade check

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值