本章讲解以下计算服务(nova)的安装及配置。
一、安装和配置控制器节点
1.配置数据库
# mysql -u root -p123456
mysql> CREATE DATABASE nova_api; mysql> CREATE DATABASE nova;
mysql> GRANT ALL PRIVILEGES ON nova_api.* TO ‘nova‘@‘localhost‘ IDENTIFIED BY ‘NOVA_DBPASS‘; mysql> GRANT ALL PRIVILEGES ON nova_api.* TO ‘nova‘@‘%‘ IDENTIFIED BY ‘NOVA_DBPASS‘; mysql> GRANT ALL PRIVILEGES ON nova.* TO ‘nova‘@‘localhost‘ IDENTIFIED BY ‘NOVA_DBPASS‘; mysql> GRANT ALL PRIVILEGES ON nova.* TO ‘nova‘@‘%‘ IDENTIFIED BY ‘NOVA_DBPASS‘;
2.获取admin权限
# . admin-openrc
3.创建服务
创建nova用户
# openstack user create --domain default --password-prompt nova
[[email protected] ~]# openstack user create --domain default > --password-prompt nova User Password:123456 Repeat User Password:123456 +---------------------+----------------------------------+ | Field | Value | +---------------------+----------------------------------+ | domain_id | default | | enabled | True | | id | 95fafc9a5ef04d4b8a479ff14e03434e | | name | nova | | password_expires_at | None | +---------------------+----------------------------------+
将admin角色添加到nova用户
# openstack role add --project service --user nova admin
[[email protected] ~]# openstack role add --project service --user nova admin 此命令没有输出
创建nova服务实体
# openstack service create --name nova --description "OpenStack Compute" compute
[[email protected] ~]# openstack service create --name nova > --description "OpenStack Compute" compute +-------------+----------------------------------+ | Field | Value | +-------------+----------------------------------+ | description | OpenStack Compute | | enabled | True | | id | 86d7334a360b49d2a02d50f17e38dd96 | | name | nova | | type | compute | +-------------+----------------------------------+
4.创建API
# openstack endpoint create --region RegionOne \ compute public http://controller:8774/v2.1/%\(tenant_id\)s
# openstack endpoint create --region RegionOne compute public http://controller:8774/v2.1/%\(tenant_id\)s
[[email protected] ~]# openstack endpoint create --region RegionOne > compute public http://controller:8774/v2.1/%\(tenant_id\)s +--------------+-------------------------------------------+ | Field | Value | +--------------+-------------------------------------------+ | enabled | True | | id | 0e70c90b242e40758adb76e92c6154f4 | | interface | public | | region | RegionOne | | region_id | RegionOne | | service_id | 86d7334a360b49d2a02d50f17e38dd96 | | service_name | nova | | service_type | compute | | url | http://controller:8774/v2.1/%(tenant_id)s | +--------------+-------------------------------------------+
# openstack endpoint create --region RegionOne compute internal http://controller:8774/v2.1/%\(tenant_id\)s
[[email protected] ~]# openstack endpoint create --region RegionOne > compute internal http://controller:8774/v2.1/%\(tenant_id\)s +--------------+-------------------------------------------+ | Field | Value | +--------------+-------------------------------------------+ | enabled | True | | id | 04c55a4055754c19855235b8e6f3fab3 | | interface | internal | | region | RegionOne | | region_id | RegionOne | | service_id | 86d7334a360b49d2a02d50f17e38dd96 | | service_name | nova | | service_type | compute | | url | http://controller:8774/v2.1/%(tenant_id)s | +--------------+-------------------------------------------+
# openstack endpoint create --region RegionOne compute admin http://controller:8774/v2.1/%\(tenant_id\)s
[[email protected] ~]# openstack endpoint create --region RegionOne > compute admin http://controller:8774/v2.1/%\(tenant_id\)s +--------------+-------------------------------------------+ | Field | Value | +--------------+-------------------------------------------+ | enabled | True | | id | 3f289ddab3d540dc8be4e6b918f605f1 | | interface | admin | | region | RegionOne | | region_id | RegionOne | | service_id | 86d7334a360b49d2a02d50f17e38dd96 | | service_name | nova | | service_type | compute | | url | http://controller:8774/v2.1/%(tenant_id)s | +--------------+-------------------------------------------+
5.安装软件包
# yum install openstack-nova-api openstack-nova-conductor openstack-nova-console openstack-nova-novncproxy openstack-nova-scheduler -y
6.编辑/etc/nova/nova.conf
[[email protected] ~]# cd /etc/nova/ [[email protected] nova]# cp nova.conf nova.conf.bak [[email protected] nova]# egrep -v "^$|^#" nova.conf.bak > nova.conf [[email protected] nova]# vim nova.conf 添加如下内容
[DEFAULT] ... enabled_apis = osapi_compute,metadata transport_url = rabbit://openstack:[email protected] auth_strategy = keystone my_ip = 192.168.23.98 use_neutron = True firewall_driver = nova.virt.firewall.NoopFirewallDriver
[api_database] ... connection = mysql+pymysql://nova:[email protected]/nova_api [database] ... connection = mysql+pymysql://nova:NO[email protected]/nova
[keystone_authtoken] ... auth_uri = http://controller:5000 auth_url = http://controller:35357 memcached_servers = controller:11211 auth_type = password project_domain_name = Default user_domain_name = Default project_name = service username = nova password = 123456
[vnc] ... vncserver_listen = $my_ip vncserver_proxyclient_address = $my_ip
[glance] ... api_servers = http://controller:9292
[oslo_concurrency] ... lock_path = /var/lib/nova/tmp
7.导入数据库
# su -s /bin/sh -c "nova-manage api_db sync" nova # su -s /bin/sh -c "nova-manage db sync" nova 忽略此输出的任何弃用消息
8.开启服务
# systemctl enable openstack-nova-api.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-consoleauth.service openstack-nova-scheduler.service \ openstack-nova-conductor.service openstack-nova-novncproxy.service
8.验证
[[email protected] ~]# nova service-list +----+------------------+----------------------+----------+---------+-------+----------------------------+-----------------+ | Id | Binary | Host | Zone | Status | State | Updated_at | Disabled Reason | +----+------------------+----------------------+----------+---------+-------+----------------------------+-----------------+ | 1 | nova-conductor | controller.novalocal | internal | enabled | up | 2017-01-12T02:41:48.000000 | - | | 2 | nova-consoleauth | controller.novalocal | internal | enabled | up | 2017-01-12T02:41:48.000000 | - | | 3 | nova-scheduler | controller.novalocal | internal | enabled | up | 2017-01-12T02:41:48.000000 | - | +----+------------------+----------------------+----------+---------+-------+----------------------------+-----------------+ [[email protected] ~]#
时间: 2024-11-08 20:10:34