Ubuntu搭建Openstack平台(kilo)(四.nova)

1、安装nova组件2、启动nova服务3、创建虚拟机实例4、总结在搭建OpenStack平台中,一、安装nova组件1. 安装nova-api服务首先需要安装nova-api服务。

在搭建OpenStack平台中,nova是其中非常重要的一个组件。它是OpenStack中虚拟机管理的核心服务,负责虚拟机的创建、管理、销毁等操作。本文将介绍如何在Ubuntu系统上搭建OpenStack平台,并详细讲解nova组件的安装和配置。

一、安装nova组件

1. 安装nova-api服务

首先需要安装nova-api服务,它是与用户互动并处理API请求的一部分。可以通过以下命令进行安装:

“`

sudo apt-get install nova-api nova-cert nova-conductor nova-consoleauth

nova-novncproxy nova-scheduler python-novaclient

2. 配置数据库

Nova使用数据库来存储各种信息,包括虚拟机实例等信息。因此需要配置数据库以便Nova可以正确地使用和存储数据。

首先需要创建一个新用户并授权:

mysql -u root -p

mysql> CREATE DATABASE nova;

mysql> GRANT ALL PRIVILEGES ON nova.* TO ‘nova’@’localhost’

IDENTIFIED BY ‘NOVA_DBPASS’;

mysql> GRANT ALL PRIVILEGES ON nova.* TO ‘nova’@’%’

这里我们创建了名为“nova”的新用户,并授予其对于“nova”数据库所有权限。

接下来需要编辑Nova配置文件/etc/nova/nova.conf,进行数据库配置。

[database]

connection = mysql+pymysql://nova:NOVA_DBPASS@controller/nova

其中“NOVA_DBPASS”为我们指定的密码,“controller”为数据库服务器的名称或IP地址。

3. 配置消息代理

Nova使用消息代理来在各个服务之间传递消息。这里我们使用RabbitMQ作为消息代理。可以通过以下命令进行安装:

sudo apt-get install rabbitmq-server

安装后需要创建一个新用户并授权:

sudo rabbitmqctl add_user openstack RABBIT_PASS

sudo rabbitmqctl set_permissions openstack “.*” “.*” “.*”

其中“RABBIT_PASS”为我们指定的密码。

接下来需要编辑Nova配置文件/etc/nova/nova.conf,进行消息代理配置。

[DEFAULT]

transport_url = rabbit://openstack:RABBIT_PASS@controller

[oslo_messaging_rabbit]

rabbit_host = controller

rabbit_userid = openstack

rabbit_password = RABBIT_PASS

“`

4. 配置认证和授权

Nova使用Keystone作为认证和授权服务。因此需要将Nova与Keystone集成,并在Nova中添加相应的API端点和用户权限等信息。

首先需要编辑Keystone配置文件/etc/keystone/keystone.conf,启用相应服务:

[token]

provider=fernet

driver=sql

expiration=300

[revoke]

[catalog]

driver=mysql

[assignment]

[policy]

enforce_scope=True

[sso]

enabled=False

“`

然后重启Keystone服务:

sudo service apache2 restart

接下来需要创建一个新用户并授权:

export OS_PROJECT_DOMAIN_NAME=default

export OS_USER_DOMAIN_NAME=default

export OS_PROJECT_NAME=admin

export OS_USERNAME=admin

export OS_PASSWORD=ADMIN_PASS

Ubuntu搭建Openstack平台(kilo)(四.nova)

export OS_AUTH_URL=

export OS_IDENTITY_API_VERSION=3

openstack user create –domain default –password-prompt nova

openstack role add –project service –user nova admin

openstack service create –name nova

–description “OpenStack Compute” compute

openstack endpoint create –region RegionOne

compute public (tenant_id)s

compute internal (tenant_id)s

compute admin (tenant_id)s

其中“ADMIN_PASS”为我们指定的密码,“RegionOne”为区域名称。

5. 配置Nova服务

最后需要编辑Nova配置文件/etc/nova/nova.conf,进行Nova服务的配置。

enabled_apis = osapi_compute,metadata

auth_strategy = keystone

my_ip = CONTROLLER_IP_ADDRESS

[api_database]

connection = mysql+pymysql://nova:NOVA_DBPASS@controller/nova_api

[glance]

api_servers =

[oslo_concurrency]

lock_path=/var/lib/nova/tmp

[keystone_authtoken]

auth_uri =

auth_url =

memcached_servers = controller:11211

auth_type = password

project_domain_name = default

user_domain_name = default

project_name = service

username = nova

password = NOVA_PASS

[vnc]

enabled=True

vncserver_listen=0.0.0.0

vncserver_proxyclient_address=CONTROLLER_IP_ADDRESS

[neutron]

url=

auth_strategy=keystone

其中“NOVA_PASS”为我们指定的密码,“CONTROLLER_IP_ADDRESS”为控制节点的IP地址。

二、启动nova服务

完成nova组件的安装和配置后,可以通过以下命令启动nova服务:

sudo service nova-api restart

sudo service nova-cert restart

sudo service nova-consoleauth restart

sudo service nova-scheduler restart

sudo service nova-conductor restart

sudo service nova-novncproxy restart

三、创建虚拟机实例

在完成Nova组件的安装和配置后,就可以开始创建虚拟机实例了。可以使用Horizon Dashboard或者OpenStack客户端进行操作。

1. 使用Horizon Dashboard创建虚拟机实例

首先登录Horizon Dashboard,并进入“Project”->“Compute”->“Instances”,点击“Launch Instance”。

在弹出窗口中输入相应信息,包括镜像、flavor、网络等,并设置密码等信息。最后点击“Launch Instance”,即可开始创建虚拟机实例。

2. 使用OpenStack客户端创建虚拟机实例

首先需要安装OpenStack客户端:

pip install python-openstackclient

然后可以使用以下命令创建虚拟机实例:

openstack server create –flavor FLAVOR_NAME –image IMAGE_NAME

–key-name KEY_PAIR_NAME INSTANCE_NAME

其中“FLAVOR_NAME”为虚拟机规格,“IMAGE_NAME”为镜像名称,“KEY_PAIR_NAME”为密钥对名称,“INSTANCE_NAME”为虚拟机实例名称。

四、总结

本文介绍了如何在Ubuntu系统上搭建OpenStack平台,并详细讲解了nova组件的安装和配置过程。同时还介绍了如何使用Horizon Dashboard或者OpenStack客户端创建虚拟机实例。希望本文能够帮助读者更加深入地理解和掌握OpenStack技术。