Nova部署


Nova作为计算服务,需要由控制节点统一调配,由计算节点提供服务。因此部署Nova需要在控制节点和计算节点上分别进行操作。

控制节点

进入mariadb,创建Nova的数据库和用户

创建数据库
	create database nova_api;
	create database nova;
	create database nova_cell0;
创建用户nova并赋予其上述三个库的所有权限
	grant all privileges on nova_api.* to 'nova'@'%' identified by 'nova';
	grant all privileges on nova.* to 'nova'@'%' identified by 'nova';
	grant all privileges on nova_cell0.* to 'nova'@'%' identified by 'nova';

创建nova和placement的user、service和endpoint

admin登录OpenStack
	source openrc
创建用户nova
	openstack user create --domain default --password=nova nova
将nova添加为管理员
	openstack role add --project service --user nova admin
创建nova服务
	openstack service create --name nova --description "OpenStack Compute" compute
创建endpoint
	openstack endpoint create --region RegionOne compute public http://controller1:8774/v2.1
	openstack endpoint create --region RegionOne compute internal http://controller1:8774/v2.1
	openstack endpoint create --region RegionOne compute admin http://controller1:8774/v2.1
创建用户placement
	openstack user create --domain default --password=placement placement
将placement添加为管理员
	openstack role add --project service --user placement admin
创建placement服务
	openstack service create --name placement --description "Placement API" placement
创建endpoint
	openstack endpoint create --region RegionOne placement public http://controller1:8778
	openstack endpoint create --region RegionOne placement internal http://controller1:8778
	openstack endpoint create --region RegionOne placement admin http://controller1:8778
检查一下上述步骤是否成功:
查看用户
	openstack user list
	+----------------------------------+-----------+
	| ID                               | Name      |
	+----------------------------------+-----------+
	| 3f4350ab5acc4ac2bc915365279d8fd1 | nova      |
	| 6e1f6488725e4c5e85b23b3a089ef36c | placement |
查看服务
	penstack service list
	| ID                               | Name      | Type      |
	+----------------------------------+-----------+-----------+
	| 463632a27b2b41af94dd857cfee2bb36 | placement | placement |
	| 8101c98d20a445eb89c6a0eae46ccf6e | nova      | compute   |
	+----------------------------------+-----------+-----------+
查看endpoint
openstack endpoint list
| 44692e8cf1474235bb0331ea511ce545 | RegionOne | nova         | compute      | True    | admin     | http://controller1:8774/v2.1 |
| 57917f0d61c146899c5e339eb9a1a216 | RegionOne | nova         | compute      | True    | public    | http://controller1:8774/v2.1 |
| dc805226acdf4a4883b8487332a3f0e7 | RegionOne | nova         | compute      | True    | internal  | http://controller1:8774/v2.1 |
| 00a945a134b548c4aa04b64bdc86d09f | RegionOne | placement    | placement    | True    | admin     | http://controller1:8778      |
| 49ee058856654828a3df022698c69e10 | RegionOne | placement    | placement    | True    | internal  | http://controller1:8778      |
| 89f1f8e2a23849c18e501f052f9d7813 | RegionOne | placement    | placement    | True    | public    | http://controller1:8778      |
如以上均无问题,进入下一步

安装配置Nova服务

安装控制节点需要的nova软件包
	yum -y install openstack-nova-api openstack-nova-conductor openstack-nova-console \
	openstack-nova-novncproxy openstack-nova-scheduler openstack-nova-placement-api
编辑配置文件
	vim /etc/nova/nova.conf
	配置文件的内容和其含义写在下面了
修改/etc/httpd/conf.d/00-nova-placement-api.conf
	cat >> /etc/httpd/conf.d/00-nova-placement-api.conf <<EOF
	<Directory /usr/bin>
	   <IfVersion >= 2.4>
	      Require all granted
	   </IfVersion>
	   <IfVersion < 2.4>
	      Order allow,deny
	      Allow from all
	   </IfVersion>
	</Directory>
	EOF
重启httpd
	systemctl restart httpd
同步数据库
	su -s /bin/sh -c "nova-manage api_db sync" nova
	su -s /bin/sh -c "nova-manage cell_v2 map_cell0" nova
	su -s /bin/sh -c "nova-manage cell_v2 create_cell --name=cell1 --verbose" nova
	su -s /bin/sh -c "nova-manage db sync" nova
查看nova的cell
	nova-manage cell_v2 list_cells
	+-------+--------------------------------------+
	|  Name |                 UUID                 |
	+-------+--------------------------------------+
	| cell0 | 00000000-0000-0000-0000-000000000000 |
	| cell1 | 046be722-134f-431e-a36c-e27a6700ab69 |
	+-------+--------------------------------------+
启动服务
	systemctl enable openstack-nova-api openstack-nova-consoleauth openstack-nova-scheduler \
	openstack-nova-conductor openstack-nova-novncproxy
	systemctl restart openstack-nova-api openstack-nova-consoleauth openstack-nova-scheduler \
	openstack-nova-conductor openstack-nova-novncproxy
查看服务是否启动
	openstack compute service list
	status栏表示服务是否启动,state栏表示服务是否对外提供服务,两者必须如下才算成功启动
	+----+------------------+-------------+----------+---------+-------+----------------------------+
	| ID | Binary           | Host        | Zone     | Status  | State | Updated At                 |
	+----+------------------+-------------+----------+---------+-------+----------------------------+
	|  1 | nova-consoleauth | controller1 | internal | enabled | up    | 2019-10-14T11:38:52.000000 |
	|  2 | nova-conductor   | controller1 | internal | enabled | up    | 2019-10-14T11:38:56.000000 |
	|  3 | nova-scheduler   | controller1 | internal | enabled | up    | 2019-10-14T11:38:53.000000 |
	|  6 | nova-compute     | compute1    | nova     | enabled | up    | 2019-10-14T11:38:57.000000 |
	+----+------------------+-------------+----------+---------+-------+----------------------------+

计算节点

安装计算节点需要的nova服务包
	yum -y install openstack-nova-compute
编辑配置文件
	vim /etc/nova/nova.conf	
	
启动服务
	systemctl enable libvirtd openstack-nova-compute
	systemctl restart libvirtd openstack-nova-compute

配置文件

控制节点的/etc/nova/nova.conf文件

[DEFAULT]
# 给出本主机的ip
my_ip = 192.168.88.111
# 支持网络服务
use_neutron = True
# 使用提供的防火墙规则
# 默认情况下,Compute使用内部防火墙驱动程序。
# 由于网络服务包含防火墙驱动程序,因此您必须使用此防火墙驱动程序禁用计算防火墙驱动程序。
firewall_driver = nova.virt.firewall.NoopFirewallDriver
# 规定默认启用的API:仅启用计算和元数据的API
enabled_apis = osapi_compute,metadata
# 给出消息队列访问渠道
transport_url = rabbit://openstack:openstack@controller1
 
[api]
# 身份认证服务使用keystone
auth_strategy = keystone
 
[api_database]
# 给出nova_api数据库连接方式
connection = mysql+pymysql://nova:nova@controller1/nova_api
 
[barbican]
 
[cache]
 
[cells]
 
[cinder]
 
[cloudpipe]
 
[conductor]
 
[console]
 
[consoleauth]
 
[cors]
 
[cors.subdomain]
 
[crypto]
 
[database]
# 给出nova数据库连接方式
connection = mysql+pymysql://nova:nova@controller1/nova

[ephemeral_storage_encryption]
 
[filter_scheduler]
 
[glance]
# 配置镜像服务的API
api_servers = http://controller1:9292
 
[guestfs]
 
[healthcheck]
 
[hyperv]
 
[image_file_url]
 
[ironic]
 
[key_manager]
 
[keystone_authtoken]
# 用户nova认证信息
auth_uri = http://controller1:5000
auth_url = http://controller1:35357
memcached_servers = controller1:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = nova
password = nova
 
[libvirt]
 
[matchmaker_redis]
 
[metrics]
 
[mks]
 
[neutron]
 
[notifications]
 
[osapi_v21]
 
[oslo_concurrency]
# 设置锁定文件的路径
lock_path = /var/lib/nova/tmp
 
[oslo_messaging_amqp]
 
[oslo_messaging_kafka]
 
[oslo_messaging_notifications]
 
[oslo_messaging_rabbit]
 
[oslo_messaging_zmq]
 
[oslo_middleware]
 
[oslo_policy]
 
[pci]

[placement]
# 用户placement认证信息
os_region_name = RegionOne
project_domain_name = Default
project_name = service
auth_type = password
user_domain_name = Default
auth_url = http://controller1:35357/v3
username = placement
password = placement
 
[quota]
 
[rdp]
 
[remote_debug]
 
[scheduler]
 
[serial_console]
 
[service_user]
 
[spice]
 
[ssl]
 
[trusted_computing]
 
[upgrade_levels]
 
[vendordata_dynamic_auth]
 
[vmware]
 
[vnc]
# 配置vnc代理以使用控制节点的集群ip
enabled = true
vncserver_listen = $my_ip
vncserver_proxyclient_address = $my_ip
 
[workarounds]
 
[wsgi]
 
[xenserver]
 
[xvp]

计算节点的/etc/nova/nova.conf文件

计算节点的配置文件与控制节点基本一致,这里仅列出不同处。

[api_database]

[database]
 
[libvirt]
# 计算节点不支持硬件加速,此处必须设置为qemu,若支持硬件加速,则不需要添加此项
virt_type = qemu
 
[vnc]
enabled = True
vncserver_listen = $my_ip
vncserver_proxyclient_address = $my_ip
novncproxy_base_url = http://controller1:6080/vnc_auto.html
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值