控制节点
Before you install and configure the Compute service, you must create a database, service credentials, and API endpoint.
一、创建nova数据库并授权
1.登陆数据库
mysql -u root -p
2.创建数据库并授权
CREATE DATABASE nova; GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'localhost' IDENTIFIED BY 'NOVA_DBPASS'; GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'%' IDENTIFIED BY 'NOVA_DBPASS';
Replace NOVA_DBPASS
with a suitable password.
Source the admin
credentials to gain access to admin-only CLI commands:
source admin-openrc.sh
3.To create the service credentials, complete these steps:
Create the nova
user:
openstack user create --password-prompt nova
Add the admin
role to the nova
user:
openstack role add --project service --user nova admin
Create the nova
service entity:
openstack service create --name nova --description "OpenStack Compute" compute
4.Create the Compute service API endpoint:
openstack endpoint create --publicurl http://controller:8774/v2/%(tenant_id)s --internalurl http://controller:8774/v2/%(tenant_id)s --adminurl http://controller:8774/v2/%(tenant_id)s --region RegionOne compute
二、To install and configure Compute controller components
1.Install the packages:
yum install openstack-nova-api openstack-nova-cert openstack-nova-conductor openstack-nova-console openstack-nova-novncproxy openstack-nova-scheduler python-novaclient
2.Edit the /etc/nova/nova.conf
file and complete the following actions:
Add a [database]
section, and configure database access:
[database] ... connection = mysql://nova:NOVA_DBPASS@controller/nova
Replace NOVA_DBPASS
with the password you chose for the Compute database.
In the [DEFAULT]
and [oslo_messaging_rabbit]
sections, configure RabbitMQ message queue access:
[DEFAULT] ... rpc_backend = rabbit [oslo_messaging_rabbit] ... rabbit_host = controller rabbit_userid = openstack rabbit_password = RABBIT_PASS
Replace RABBIT_PASS
with the password you chose for the openstack
account in RabbitMQ.
In the [DEFAULT]
and [keystone_authtoken]
sections, configure Identity service access:
[DEFAULT] ... auth_strategy = keystone [keystone_authtoken] ... auth_uri = http://controller:5000 auth_url = http://controller:35357 auth_plugin = password project_domain_id = default user_domain_id = default project_name = service username = nova password = NOVA_PASS
Replace NOVA_PASS
with the password you chose for the nova
user in the Identity service.
注意:Comment out or remove any other options in the [keystone_authtoken]
section.
In the [DEFAULT]
section, configure the my_ip
option to use the management interface IP address of the controller node:
[DEFAULT] ... my_ip = 10.0.0.11
In the [DEFAULT]
section, configure the VNC proxy to use the management interface IP address of the controller node:
[DEFAULT] ... vncserver_listen = 10.0.0.11 vncserver_proxyclient_address = 10.0.0.11
In the [glance]
section, configure the location of the Image service:
[glance]
...
host = controller
In the [oslo_concurrency]
section, configure the lock path:
[oslo_concurrency]
...
lock_path = /var/lib/nova/tmp
(Optional) To assist with troubleshooting, enable verbose logging in the [DEFAULT]
section:
[DEFAULT]
...
verbose = True
3.Populate the Compute database:
su -s /bin/sh -c "nova-manage db sync" nova
To finalize installation
Start the Compute services and configure them to start when the system boots:
systemctl enable openstack-nova-api.service openstack-nova-cert.service openstack-nova-consoleauth.service openstack-nova-scheduler.service openstack-nova-conductor.service openstack-nova-novncproxy.service systemctl start openstack-nova-api.service openstack-nova-cert.service openstack-nova-consoleauth.service openstack-nova-scheduler.service openstack-nova-conductor.service openstack-nova-novncproxy.service