Openstack 安装部署指南翻译系列 之 概况

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Openstack 安装部署指南翻译系列 之 概况相关的知识,希望对你有一定的参考价值。

1.1.1.1. Nova服务安装Compute 

1.1.1.1.1. 计算服务概述

使用OpenStack Compute来托管和管理云计算系统。OpenStack Compute是基础架构即服务(IaaS)系统的主要部分。主要模块是用Python实现的。

 

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

 

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

 

nova-api 服务

接受并回复最终用户的计算API调用。该服务支持OpenStack Compute APIAmazon EC2 API和特殊的Admin API,用于特权用户执行管理操作。它执行一些策略并启动大多数业务流程活动,例如运行一个实例。

nova-api-metadata 服务

接受来自实例的元数据请求。nova-api-metadata 当您在多主机模式下运行nova-network安装时,通常会使用该服务 。有关详细信息,请参阅 “OpenStack管理员指南”中的元数据服务。

nova-compute 服务

通过虚拟机管理程序API创建和终止虚拟机实例的工作程序守护程序。例如:

 

适用于XenServer / XCPXenAPI

KVMQEMUlibvirt

适用于VMwareVMwareAPI

处理相当复杂。基本上,守护程序接受队列中的操作,并执行一系列系统命令,例如启动KVM实例并更新数据库中的状态。

 

nova-placement-api 服务

跟踪每个提供商的库存和使用情况。有关详细信息,请参阅 Placement API

nova-scheduler 服务

从队列获取虚拟机实例请求,并确定运行哪个计算服务器主机。

nova-conductor 模块

中介nova-compute服务和数据库之间的交互。它消除了对nova-compute服务器所做的云数据库的直接访问。该nova-conductor模块水平缩放。但是,请勿在nova-compute服务运行的节点上部署它 。有关详细信息,请参阅配置参考指南。

nova-cert 模块

服务器守护进程为Nova Cert服务提供X509证书。用于生成证书 euca-bundle-image。只需要EC2 API

nova-consoleauth 守护进程

授权控制台代理提供的用户的令牌。参考 nova-novncproxynova-xvpvncproxy。此服务必须运行才能使控制台代理工作。您可以在集群配置中针对单个nova-consoleauth服务运行任一类型的代理。有关信息,请参阅关于nova-consoleauth

nova-novncproxy 守护进程

提供通过VNC连接访问运行实例的代理。支持基于浏览器的novnc客户端。

nova-spicehtml5proxy 守护进程

提供通过SPICE连接访问运行实例的代理。支持基于浏览器的HTML5客户端。

nova-xvpvncproxy 守护进程

提供通过VNC连接访问运行实例的代理。支持OpenStack特定Java客户机。

队列

在守护进程之间传递消息的中心枢纽。通常用RabbitMQ实现,也可以用另一个AMQP消息队列来实现,如ZeroMQ

SQL数据库

存储云基础设施的大部分构建时间和运行时状态,包括:

 

可用的实例类型

正在使用的实例

可用网络

项目

理论上,OpenStack Compute可以支持SQLAlchemy支持的任何数据库。公共数据库是用于测试和开发工作的SQLite3mysqlMariaDBPostgreSQL

1.1.1.1.2. 安装和配置控制器节点

本节介绍如何在控制器节点上安装和配置代号为NovaCompute服务。

1.1.1.1.2.1. 先决条件

在安装和配置Compute服务之前,必须创建数据库,服务凭据和API端点。

 

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

 

使用数据库访问客户端作为root用户连接到数据库服务器:

$ mysql -u root -p

创建nova_apinovanova_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:[email protected]/nova_api

 

[database]

# ...

connection = mysql+pymysql://nova:[email protected]/nova

 

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

 

在本[DEFAULT]节中,配置RabbitMQ 消息队列访问:

[DEFAULT]

# ...

transport_url = rabbit://openstack:[email protected]

替换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_PASSnova身份服务中为用户选择的密码 。

 

在该[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_PASSplacement身份服务中为用户选择的密码 。注释[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 cell0cell1是否正确注册:

# 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


本文出自 “yuweibing的技术博客” 博客,请务必保留此出处http://yuweibing.blog.51cto.com/3879355/1981178

以上是关于Openstack 安装部署指南翻译系列 之 概况的主要内容,如果未能解决你的问题,请参考以下文章

Openstack安装部署指南翻译系列 之 说明(Pike版本官网翻译)

Openstack 安装部署指南翻译系列 之 环境配置

Openstack安装部署指南翻译系列 之 硬件需求

Openstack 安装部署指南翻译系列 之 Keystone服务安装(Identity)

Openstack 安装部署指南翻译系列 之 网络

Openstack 安装部署指南翻译系列 之 Glance服务安装(Image)