1、向ketstone注册服务
# openstack service create --name nova \
--description "OpenStack Compute" compute
# 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
# openstack service create --name placement \
--description "Placement API" placement
# 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、修改nova配置文件
1、编辑vim /etc/nova/nova.conf
# 启用计算和元数据API访问,用于计算节点与控制节点传输数据
enabled_apis = osapi_compute,metadata
transport_url = rabbit://openstack:openstack@controller
firewall_driver = nova.virt.firewall.NoopFirewallDriver
#默认情况下,Compute使用内部防火墙驱动程序。由于网络服务包括防火墙驱动程序,因此必须使用nova.virt.firewall.NoopFirewallDriver防火墙驱动程序禁用计算防火墙驱动程序。
connection = mysql+pymysql://nova:nova@controller/nova_api
connection = mysql+pymysql://nova:nova@controller/nova
connection = mysql+pymysql://placement:placement@controller/placement
[api]
auth_url = http://controller:5000/v3
memcached_servers = controller:11211
#将VNC代理配置为使用控制器节点的管理接口IP地址
server_proxyclient_address = controller
api_servers = http://controller:9292
auth_url = http://controller:5000/v3
discover_hosts_in_cells_interval = 300
#添加一个配置项 /etc/httpd/conf.d/00-nova-placement-api.conf
Allow from all
3、同步数据库数据
# 同步nova-api和 placement数据库:
# su -s /bin/sh -c "nova-manage api_db sync" nova
#注册cell数据库,让nova可以同时使用nova和cell0数据库:
# 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
# su -s /bin/sh -c "nova-manage cell_v2 list_cells" nova
4、启动并设置开机自启
# 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
5、创建实例类型
# openstack flavor create --id 0 --vcpus 2 --ram 512 --disk 5 m1.nano