这篇文章给大家分享的是有关openstack-mitaka中如何安装Compute服务的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
用户OpenStack计算去托管和管理云计算系统。OpenStack计算是基础即架构服务(IaaS)系统的一个重要组成部分。主要模块是用Pthon实现的。
OpenStack计算与OpenStack身份认证进行认证交互;OpenStack Image提供磁盘和服务器镜像服务;而OpenStack dashboard为用户提供界面交互。镜像的访问是受项目和用户的限制;配额是受每个项目限制(如云主机实例的数量)。OpenStack计算可横向扩展标准硬件,并且下载镜像到启动的云主机实例。
OpenStack计算由下面几方面和组件构成:
Nova-api service
接受和响应终端用户计算API的调用。该服务支持OpenStack计算API,Amazon EC2 API,和给特权用户执行管理操作的特定管理API。它执行一些政策,并启动大部分的业务流程活动,例如运行一个实例。
nova-api-metadata service
接受来自云主机实例的元数据请求。当你的OpenStack环境是采用nova-network的多节点模式进行安装时,nova-api-metadata服务通常是需要被用到的。更多细节,请查看Metadata service手册。
nova-compute service
一个工作守护进程通过管理程序API来创建和终止虚拟机实例。例如:
l XenAPI for XenServer/XCP
l libvirt for KVM or QEMU
l VMwareAPI for Vmware
处理是相当复杂的。基本上,该守护进程接受来自队列的操作并执行一系列的系统命令,例如启动一个KVM实例和更新其在数据库中的状态。
nova-scheduler service
从队列中取出一个虚拟机实例请求,并确定它运行在个计算服务器主机。
nova-conductor module
调解nova-compute计算服务和数据库之间的相互作用。它消除了直接访问由nova-compute服务组成的云数据库。Noa-conductor模块水平缩放。可是不要在运行nova-compute服务的节点部署它。更多信息查看,Configuration Reference Guide.
nova-cert module
一个服务器守护进程为Nova Cert服务提供X509证书服务。用于生成euca-bundle-image证书。只有在EC2 API使用中才会被用到。
nova-network worker daemon
和nova-compute服务类似,接受来自队列的网络任务并操作网络。执行任务,例如设置格拉接口或者改变Iptables规则。
nova-consoleauth daemon
为用户控制台代理提供授权令牌。请了解See nova-novncproxy 和 nova-xvpvncproxy。此服务必须运行于控制代理工作中。你可以在配置单nova-consoleauth服务的集群配置中运行两种类型的代理。更多信息,查看About nova-consoleauth.
nova-novncproxy daemon
为通过VNC连接访问运行中的云主机实例提供代理。支持基于浏览器的VNC客户端。
nova-spicehtml5proxy daemon
为通过SPICE连接访问运行中的云主机实例提供代理。支持基于浏览器的HTML客户端。
nova-xvpvncproxy daemon
为通过VNC连接访问运行中的云主机实例提供代理。支持基于特定的OpenStack java客户端。
nova-cert daemon
x509 证书
nova client
允许用户提交作为管理或终端用户的命令。
The queue
守护进程之前进行消息传递的一个中心枢纽。通常用RabbitMQ实现,也可以用另一个AMQP消息队列来实现,如ZeroMQ。
SQL database
为云基础架构提供大多数编译时和运行时的状态存储,包括:
l 可用实例类型
l 在使用实例
l 可用网络
l 项目
理论上,OpenStack可以支持SQL-Alchemy支持的任务数据库。常见的SQLite3数据库用于测试和开发工作,MySQL, 和 PostgreSQL。
下面步骤介绍如何在控制节点安装和配置计算服务。
开始安装和配置镜像服务前需要先创建一个数据库,服务凭证和API端点。
1.以下几步完成数据库创建:
l用root账号登陆数据库
mysql -u root -p
l创建nova_api 和 nova数据库
CREATE DATABASE nova_api;
CREATE DATABASE nova;
l给数据库授权
GRANT ALL PRIVILEGES ON nova_api.* TO 'nova'@'localhost' IDENTIFIED BY 'nova';
GRANT ALL PRIVILEGES ON nova_api.* TO 'nova'@'%' IDENTIFIED BY 'nova';
GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'localhost' IDENTIFIED BY 'nova';
GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'%' IDENTIFIED BY 'nova';
l退出数据库
2.加载admin凭证
. admin-openrc
3.创建服务凭证
l创建nova用户
openstack user create --domain default --password-prompt nova
l将admin角色添加给nova用户
openstack role add --project service --user nova admin
l创建nova service entity
openstack service create --name nova --description "OpenStack Compute" compute
4.创建nova service API endpoints
openstack endpoint create --region RegionOne compute public http://controller:8774/v2.1/%\(tenant_id\)s
openstack endpoint create --region RegionOne compute internal http://controller:8774/v2.1/%\(tenant_id\)s
openstack endpoint create --region RegionOne compute admin http://controller:8774/v2.1/%\(tenant_id\)s
1.安装软件包
yum install openstack-nova-api openstack-nova-conductor openstack-nova-console openstack-nova-novncproxy openstack-nova-scheduler
2.编辑/etc/nova/nova.conf文件,完成下面几步修改
l在[DEFAULT],配置仅启用计算和元数据API:
[DEFAULT]
...
enabled_apis = osapi_compute,metadata
l在[api_database] 和 [database]部分,配置数据库的访问
[api_database]
...
connection = mysql+pymysql://nova:nova@controller/nova_api
[database]
...
connection = mysql+pymysql://nova:nova@controller/nova
l在[DEFAULT]和[oso_messaging_rabbit]部分,配置RabbitMQ消息队列访问
[DEFAULT]
...
rpc_backend = rabbit
[oslo_messaging_rabbit]
...
rabbit_host = controller
rabbit_userid = openstack
rabbit_password = xxxxxxxx
l在[DEFAULT]和[keystone_authtoken],配置Identity服务数据库访问
[DEFAULT]
...
auth_strategy = keystone
[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 = nova
l在[DEFAULT]部分,将my_ip配置为controller节点的管理接口IP地址
[DEFAULT]
...
my_ip = 192.168.213.81
l在[DEFAULT]部分,启用对网络服务的支持
[DEFAULT]
...
use_neutron = True
firewall_driver = nova.virt.firewall.NoopFirewallDriver
l在[vnc]部分,配置VNC代理使用controller节点管理接口IP地址
[vnc]
...
vncserver_listen = $my_ip
vncserver_proxyclient_address = $my_ip
l在[glance]部分,配置镜像服务API的location
[glance]
...
api_servers = http://controller:9292
l在[oslo_concurrency]部分,配置镜像服务API的location
[oslo_concurrency]
...
lock_path = /var/lib/nova/tmp
3.同步填充Compute数据库
# su -s /bin/sh -c "nova-manage api_db sync" nova
# su -s /bin/sh -c "nova-manage db sync" nova
若输入下列deprecation信息,可忽略
1.启动compute服务并配置开机自启动
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
这部分描述如何在计算节点安装和配置计算服务。该服务支持几种hypervisors去部署instances 或 VMs。为简单起见,这个配置在计算节点使用带KVM扩展的QEMU管理程序,它应支持硬件加速的虚拟机。在旧式硬件上,该配置使用通用的QEMU管理程序。你可以按照这些说明进行较小的修改,以水平扩展你的环境与额外的计算节点。
1.安装软件包
yum install openstack-nova-compute
2.编辑/etc/nova/nova.conf文件,完成下面几步修改
l在[DEFAULT]和[oslo_messaging_rabbit]部分,配置RabbitMQ消息队列访问:
[DEFAULT]
...
rpc_backend = rabbit
[oslo_messaging_rabbit]
...
rabbit_host = controller
rabbit_userid = openstack
rabbit_password = RABBIT_PASS
将RABBIT_PASS换成正确的密码
l在[default] 和 [keystone_authtoken]部分,配置Identity service的访问
[DEFAULT]
...
auth_strategy = keystone
[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 = nova
l在[default]部分,配置my_ip
[DEFAULT]
...
my_ip = MANAGEMENT_INTERFACE_IP_ADDRESS
将MANAGEMENT_INTERFACE_IP_ADDRESS替换成计算节点的管理网络接口的IP地址
l在[default]部分,打开网络服务支持
[DEFAULT]
...
use_neutron = True
firewall_driver = nova.virt.firewall.NoopFirewallDriver
l 在[vnc]部分,配置远程控制台的访问
[vnc]
...
enabled = True
vncserver_listen = 0.0.0.0
vncserver_proxyclient_address = $my_ip
novncproxy_base_url = http://controller:6080/vnc_auto.html
服务器组件监听所有的IP地址,代理组件只监听计算节点的管理接口IP地址。Base URL表示你可以使用Web浏览器访问计算节点上实例远程控制台的位置。
l在[glance]部分,配置Image service API的位置
[glance]
...
api_servers = http://controller:9292
l在[oslo_concurrency]部分,配置lock path
[oslo_concurrency]
...
lock_path = /var/lib/nova/tmp
1.测试计算节点是否支持虚拟机的硬件加速
egrep -c '(vmx|svm)' /proc/cpuinfo
如果命令返回值是大于等于1,说明你的计算节点支持硬件加速,这种情况通常不需做额外配置。如果命令返回值是0,你的计算节点不支持硬件加速,必须将的libvirt由KVM改为QEMU。
l在编辑/etc/nova/nova.conf文件,并按下面内容修改[libvirt]部分
[libvirt]
...
virt_type = qemu
2.启动服务并设置开机自启动
systemctl enable libvirtd.service openstack-nova-compute.service
systemctl start libvirtd.service openstack-nova-compute.service
在controller节点执行下面命令
1.加载admin凭证
. admin-openrc
2.例出服务组件以验证每个进程的成功推出和注册
openstack compute service list
备注:输入应该列出在控制节点启动的三个服务组件和在计算节点启动的一个服务组件。
感谢各位的阅读!关于“openstack-mitaka中如何安装Compute服务”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。