设为首页 收藏本站
查看: 1281|回复: 0

[经验分享] Openstack 安装部署指南翻译系列 之 概况

[复制链接]

尚未签到

发表于 2017-11-14 11:07:50 | 显示全部楼层 |阅读模式
1.1.1.1. Nova服务安装(Compute )1.1.1.1.1. 计算服务概述
使用OpenStack Compute来托管和管理云计算系统。OpenStack Compute是基础架构即服务(IaaS)系统的主要部分。主要模块是用Python实现的。

OpenStack Compute与OpenStack Identity进行交互以进行身份验证; OpenStack镜像服务用于磁盘和服务器镜像; OpenStack仪表板用于用户和管理界面。镜像访问受到项目和用户的限制; 配额对于每个项目是有限的(例如数量)。OpenStack Compute可以在标准硬件上水平扩展,并下载镜像以启动实例。

OpenStack Compute由以下几个服务组成:

2 nova-api 服务
接受并回复最终用户的计算API调用。该服务支持OpenStack Compute API,Amazon EC2 API和特殊的Admin API,用于特权用户执行管理操作。它执行一些策略并启动大多数业务流程活动,例如运行一个实例。
2 nova-api-metadata 服务
接受来自实例的元数据请求。nova-api-metadata 当您在多主机模式下运行nova-network安装时,通常会使用该服务 。有关详细信息,请参阅 “OpenStack管理员指南”中的元数据服务。
2 nova-compute 服务
通过虚拟机管理程序API创建和终止虚拟机实例的工作程序守护程序。例如:

适用于XenServer / XCP的XenAPI
KVM或QEMU的libvirt
适用于VMware的VMwareAPI
处理相当复杂。基本上,守护程序接受队列中的操作,并执行一系列系统命令,例如启动KVM实例并更新数据库中的状态。

2 nova-placement-api 服务
跟踪每个提供商的库存和使用情况。有关详细信息,请参阅 Placement API。
2 nova-scheduler 服务
从队列获取虚拟机实例请求,并确定运行哪个计算服务器主机。
2 nova-conductor 模块
中介nova-compute服务和数据库之间的交互。它消除了对nova-compute服务器所做的云数据库的直接访问。该nova-conductor模块水平缩放。但是,请勿在nova-compute服务运行的节点上部署它 。有关详细信息,请参阅配置参考指南。
2 nova-cert 模块
服务器守护进程为Nova Cert服务提供X509证书。用于生成证书 euca-bundle-image。只需要EC2 API。
2 nova-consoleauth 守护进程
授权控制台代理提供的用户的令牌。参考 nova-novncproxy和nova-xvpvncproxy。此服务必须运行才能使控制台代理工作。您可以在集群配置中针对单个nova-consoleauth服务运行任一类型的代理。有关信息,请参阅关于nova-consoleauth。
2 nova-novncproxy 守护进程
提供通过VNC连接访问运行实例的代理。支持基于浏览器的novnc客户端。
2 nova-spicehtml5proxy 守护进程
提供通过SPICE连接访问运行实例的代理。支持基于浏览器的HTML5客户端。
2 nova-xvpvncproxy 守护进程
提供通过VNC连接访问运行实例的代理。支持OpenStack特定Java客户机。
2 队列
在守护进程之间传递消息的中心枢纽。通常用RabbitMQ实现,也可以用另一个AMQP消息队列来实现,如ZeroMQ。
2 SQL数据库
存储云基础设施的大部分构建时间和运行时状态,包括:

可用的实例类型
正在使用的实例
可用网络
项目
理论上,OpenStack Compute可以支持SQLAlchemy支持的任何数据库。公共数据库是用于测试和开发工作的SQLite3,MySQL,MariaDB和PostgreSQL。
1.1.1.1.2. 安装和配置控制器节点
本节介绍如何在控制器节点上安装和配置代号为Nova的Compute服务。
1.1.1.1.2.1. 先决条件
在安装和配置Compute服务之前,必须创建数据库,服务凭据和API端点。

1、要创建数据库,请完成以下步骤:

使用数据库访问客户端作为root用户连接到数据库服务器:
$ mysql -u root -p
创建nova_api,nova和nova_cell0数据库:
MariaDB [(none)]> CREATE DATABASE nova_api;
MariaDB [(none)]> CREATE DATABASE nova;
MariaDB [(none)]> CREATE DATABASE nova_cell0;
授予对数据库的正确访问权限:
MariaDB [(none)]> GRANT ALL PRIVILEGES ON nova_api.* TO 'nova'@'localhost' \
  IDENTIFIED BY 'NOVA_DBPASS';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON nova_api.* TO 'nova'@'%' \
  IDENTIFIED BY 'NOVA_DBPASS';

MariaDB [(none)]> GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'localhost' \
  IDENTIFIED BY 'NOVA_DBPASS';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'%' \
  IDENTIFIED BY 'NOVA_DBPASS';

MariaDB [(none)]> GRANT ALL PRIVILEGES ON nova_cell0.* TO 'nova'@'localhost' \
  IDENTIFIED BY 'NOVA_DBPASS';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON nova_cell0.* TO 'nova'@'%' \
  IDENTIFIED BY 'NOVA_DBPASS';
更换NOVA_DBPASS一个合适的密码。

退出数据库访问客户端。

2、输入admin凭据以访问仅管理CLI命令:
$ . admin-openrc
3、创建计算服务凭据:

创建nova用户:
$ openstack user create --domain default --password-prompt nova
User Password:
Repeat User Password:
将admin角色添加到nova用户:
$ openstack role add --project service --user nova admin

创建nova服务实体:
$ openstack service create --name nova \
  --description "OpenStack Compute" compute

4、创建Compute API服务端点:
$ 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

5、使用选择的PLACEMENT_PASS创建Placement 服务:
$ openstack user create --domain default --password-prompt placement
User Password:
Repeat User Password:

6、将Placement用户添加到具有管理角色的服务项目中:
$ openstack role add --project service --user placement admin

7、在服务目录中创建Placement API条目:
$ openstack service create --name placement --description "Placement API" placement

8、创建Placement API服务端点:
$ 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
1.1.1.1.2.2. 安装和配置组件
1、安装软件包:
# yum install openstack-nova-api openstack-nova-conductor \
  openstack-nova-console openstack-nova-novncproxy \
  openstack-nova-scheduler openstack-nova-placement-api
2、编辑/etc/nova/nova.conf文件并完成以下操作:

在该[DEFAULT]部分中,仅启用计算和元数据API:
[DEFAULT]
# ...
enabled_apis = osapi_compute,metadata
在[api_database]和[database]部分中配置数据库访问:
[api_database]
# ...
connection = mysql+pymysql://nova:NOVA_DBPASS@controller/nova_api

[database]
# ...
connection = mysql+pymysql://nova:NOVA_DBPASS@controller/nova

替换NOVA_DBPASS为您选择的计算数据库的密码。

在本[DEFAULT]节中,配置RabbitMQ 消息队列访问:
[DEFAULT]
# ...
transport_url = rabbit://openstack:RABBIT_PASS@controller
替换RABBIT_PASS为您为该openstack帐户选择的密码 RabbitMQ。

在[api]和[keystone_authtoken]部分中,配置身份服务访问:
[api]
# ...
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_PASS
替换NOVA_PASS为nova身份服务中为用户选择的密码 。

在该[DEFAULT]部分中,配置该my_ip选项以使用控制器节点的管理接口IP地址:
[DEFAULT]
# ...
my_ip = 10.0.0.11
在本[DEFAULT]节中,启用对网络服务的支持:
[DEFAULT]
# ...
use_neutron = True
firewall_driver = nova.virt.firewall.NoopFirewallDriver
注意:默认情况下,Compute使用内部防火墙驱动程序。由于网络服务包含防火墙驱动程序,因此您必须使用nova.virt.firewall.NoopFirewallDriver防火墙驱动程序禁用Compute防火墙驱动 程序。
在本[vnc]节中,配置VNC代理以使用控制器节点的管理接口IP地址:
[vnc]
enabled = true
# ...
vncserver_listen = $my_ip
vncserver_proxyclient_address = $my_ip
在该[glance]部分中,配置Image Service API的位置:
[glance]
# ...
api_servers = http://controller:9292
在该[oslo_concurrency]部分中,配置锁定路径:
[oslo_concurrency]
# ...
lock_path = /var/lib/nova/tmp
在本[placement]节中,配置Placement API:
[placement]
# ...
os_region_name = RegionOne
project_domain_name = Default
project_name = service
auth_type = password
user_domain_name = Default
auth_url = http://controller:35357/v3
username = placement
password = PLACEMENT_PASS
替换PLACEMENT_PASS为placement身份服务中为用户选择的密码 。注释[placement]节中的任何其他选项。

启用对Placement API的访问,方法是将以下配置添加到 /etc/httpd/conf.d/00-nova-placement-api.conf:
<Directory /usr/bin>
   <IfVersion >= 2.4>
      Require all granted
   </IfVersion>
   <IfVersion < 2.4>
      Order allow,deny
      Allow from all
   </IfVersion>
</Directory>
重新启动httpd服务:
# systemctl restart httpd
3、填充nova-api数据库:
# su -s /bin/sh -c "nova-manage api_db sync" nova

4、注册cell0数据库:
# su -s /bin/sh -c "nova-manage cell_v2 map_cell0" nova
5、创建cell1单元格:
# su -s /bin/sh -c "nova-manage cell_v2 create_cell --name=cell1 --verbose" nova
6、导入新星数据库:
# su -s /bin/sh -c "nova-manage db sync" nova
7、验证nova cell0和cell1是否正确注册:
# nova-manage cell_v2 list_cells
1.1.1.1.2.3. 完成安装
启动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



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-407116-1-1.html 上篇帖子: Openstack 安装部署指南翻译系列 之 Glance服务安装(Image) 下篇帖子: Openstack 安装部署指南翻译系列 之 Neutron服务安装(Networking)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表