温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

openstack-mitaka中如何安装Compute服务

发布时间:2021-11-16 10:40:14 来源:亿速云 阅读:155 作者:小新 栏目:云计算

这篇文章给大家分享的是有关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

openstack-mitaka中如何安装Compute服务

l将admin角色添加给nova用户

openstack role add --project service --user nova admin

l创建nova service entity

openstack service create --name nova --description "OpenStack Compute" compute

openstack-mitaka中如何安装Compute服务

4.创建nova service API endpoints

openstack endpoint create --region RegionOne compute public http://controller:8774/v2.1/%\(tenant_id\)s

openstack-mitaka中如何安装Compute服务

openstack endpoint create --region RegionOne compute internal http://controller:8774/v2.1/%\(tenant_id\)s

openstack-mitaka中如何安装Compute服务

openstack endpoint create --region RegionOne compute admin http://controller:8774/v2.1/%\(tenant_id\)s

openstack-mitaka中如何安装Compute服务

安装和配置组件

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去部署instancesVMs。为简单起见,这个配置在计算节点使用带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服务”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI