概述
OpenStack 项目是一个开源云计算平台,支持所有类型的云环境。该项目旨在实现简单、可扩展性和丰富的功能集。来自世界各地的云计算专家为该项目做出了贡献。
OpeY s e A u TnStack 通过各种互补服务提供基; 1 ( { Y础架构即服务 (IaaS) 解决方案。每个服务都提供了一个应用程序编程接口 (API),有助于进行这种集成。
本指南介绍主要 Ope} , . D / InStacv J Q d [ Ok 服务的分步部署,使用的功能示例体系结构,该体系结构适用于具有足够 Linux 体o M S k 8 =验的 OpenStack2 Z q 新用户。本指南不用于生产系统安装,而是用于创建最小安装的概念验证,以便了解 OpenS( @ ltack。
在熟悉这些 OpenStack 服务的基本安装、配置、操作和故障排除后,应考虑使用生产体系结构进行部署的以下步骤:
- 确定并实施必要的核心和可选服务,以满足性能和冗余要求。
- 使用防火墙、加密和服务策略等方法提高安全性。
- 实施部署工具(j - . @ 1 j如 Ansible、Chef、Puppet 或 Salt)以自动化生产环境的部署和管理。` R P , 7 # % [ M
体系结构示例
示例体系结构至少需要两个节点(主机)才能启动基本虚拟X + M机 (VM) 或实例。块存储和对象存储等可选服务需要额外的节点。
重要
本指南中使用的示例体系结构是最小配置,不适用于生产系统安装。它旨在为了解 OpenStack 提供最低限度的概念验证。有关为特定用例创建体系结构或如何确定需要哪种体系结构的信息,请参阅体系结构设计指南。+ - w ;
此示例体系结构不同于最小生产体系结构,如下所示:
- 网络代理驻留在控制器节点上,而不是一个或多K 9 G N o )个专用网络节点上。
- self-service 网络的叠加(隧道)流量遍历管理网络,而不是专用网络。
- 本文档使用 self-service 网络模式部署。
有关生产体系结构的信息,请参阅体系结构设计指南、OpenStack 操作指南和OpenStack 网络指南。
硬4 1 D件要求
Controllerhttps://docs.openstack.org/nova/traX H Y q iin/install/overview.html#controller)
控制器节点运行标识服务、映像服X { 7 T b ] K务、计算管理部分、网络管理部分、各种网络代理和仪F ^ R 6 r $ & i表板。它还包括支持服务,如 SQ6 ; a # f ` Z 1L 数据库、消息队列和网络时间协议 (NTP)。
可选控制器节点运行块存储、对象存储、业务流程和 Telemw { l X 9 ketry 服务的某些部分。
控制器节点至少需要两个网络接口。
Computehttps://docs.openstack.ok i X G P @ prg/nova/train/install/overview.html#compute)
计算节点运行操作实例的"计算"的虚拟机管理程序部分。默认情况下,计算使用基于内核的 VM (KVM) 虚拟机管理程序。计j k [ 2 !算节点还运行一个网络服务代理,该代理将实例连接到虚拟网络,并通过安全组向实例提供防火墙服务。
您可以部d ` x @署多个计算节点。每个节点至少需要两个网络接口。
Block S` ^ q a R @ atorage
可选的块存储节点包含块存储和共享文件系统服务为实例预x / ! A A ;配的磁盘。
为简单起见,计算节点和此- - * q ~ ^节点之间的服务流量使用管理网络。生产环境应实现单独的存储网络,以提高性[ | L i E ( ? + T能和安全性。
您可以部署多2 y 7 M个块存储节点。每个节点至少需要一个网络接口。
Object Storage
可选的对象存储节点包含对象存储服务用于存储帐户、容器和对象的磁盘。
为简单起见,计算节点和此节点之间的服务流量使用管理网络。生产环境应实现单独的存储网络,以提高性能和安全性。
此服务需要O { G b两个节点。& ` 4 ] A v $每个节点至少需要一个网8 E d ~络接口。您可以部署两个多个对象存储节点。
Nh A o Petworking
选择以下虚拟网络选项之一。
网络选项 1:? t u z mProvider networkshttps://docs.opX 6 ] s , o /enstack.org/nova/train/install/i i 7 3 7 {overview.Q t & { # - 2html#networking-option-1: ( 8 A z ~ |-provider-networks)
提供商网络C : l [ [ Y - 5选项以最简单的方式部署 Opeu ( X i mnStack 网络服| _ 0 K V s W务,主要使1 W K ? 0 k v r用第 2 层(桥接/交换)服务a k i M e : ^和网络 VLAN 分段。从本质上讲,它将虚拟网络桥接到物理网络,并依赖于物理网络基础设施进行第 3 层(路由D A v e $ 4 + S)服务。此外,DHCP < 动态主机配置协议 (DHCP) 服务为实例提供 IP 地址信息。
OpJ ) t & K ; I -enStack 用户需要有关基础网络基础结构的更多信息,以创建虚拟网络以完全匹配基础结构。
警告
此4 v j : + 选项不支持自助服务(专用)网络、第 3 层(路由)服务和高级服务,如负载均衡器一种服务 (LBaaS) 和 FireWall 一种服务 (FWaaS)。如果您需要这些功f $ l能,请考虑下面的 self-service 务网络选项。
网络选项 2:Self-service netwo0 : $ I A H 0rks
自助服务网络选项通过第 3 层(路由Z K 6)服务增强提供程序网络选项,这些服务使用覆盖分段方法(如虚拟可扩展 LAN (VXLAN))启用自助服务网络。从本质上讲,它使用网络地址转换 (NAT) 将虚拟网络路由到物理网络。此外,此选项为 LBaaS 和 FWaaS 等高级服务W ] Z E , ) @ ! `奠定了基础。
OpenStack 用户可以在数据网络上基础基础结构不知情的情况下创建虚拟网络。如果相应配置了第 2 层0 f - U N 9 ( ,插件,这也可v e m ? o 3以包括 VLAN 网络。
Compute Service概述
使用 OpenStack compute 来托管和管理云计算系统。OpenStack 计算是基础架构即服务 (Ih u R t 2 ; b qaaS) 系统的主要部分。主要模块在 Python 中实现。
OpenStack compu3 { z z & xte 与 OpenStack IdeT s Q Q A y e Cntity 进行身份验证、用于资源清单跟踪和选择的 OpenStack 放置、用于磁盘和服务器镜像的 Opeb D d [ ; 8 + } ,nStack 镜像服务以及用于用户和管理界面的 OpenStack 仪表板进行交互。图像访问受项目和用户限制;每个项目的配额是有限的(例如实例数)。OpenStack Compute 可以在标准硬件上水平缩放,并下载映像以启动实例。
Opes . 2 % _ ! wnStack 计算由以下区域及其组件组成:
-
nova-api service
接8 j . # h受并响应最终用户计算 AT w A 6 , . VPI 调用。该服务支持 OpenStack 计算 API。它强制实施某些策略并启动大多数业务流程活动,例如运行实例。
-
nova-api-metadata service
接受来自实例的元数@ t L E C X据请求。当您在多主机模式下使用安装时,通常使用该服务。有关详细信息,请参阅计算管理员指南中的元数据服务。u 0 F C t @ m B =
nova-api-metadata``nova-network
-
nova-compute service
通过虚拟机管理程序 API 创建和终止虚拟机实例的工作程序守护程序。
例如
XenAPI 表示C ` P o @ V Xenserver/XCPKvm 或 Qemu 的 libvirt用于} f Q $ E q n t VMware 的 VMwareAPI处理相当复杂。基本上,守护进程接受队列中的操作并执行一系列系统命令,例如启动 KVM 实例和更0 w , T {新其在数据库中的状态。
-
nova-scheduler service
从队列中接F ( % x ; a x q -受虚拟机实例请求,并确定它运行在哪个计算( @ ~ @ T r服务器主机上。
-
nova-conductor service
调解服务和数据库之间的交互。它消除了对服务对云数据库的直接访问。模块水平缩放。- b =但是,不要将其部署到n W Y r F 0运行服务的节点上。有关 I # ? M ( f N详细信息,请参阅配置选项 中的部分。
nova-compute
nova-compute
nova-conductor
nova-compute
conductor
-
nova-novJ v S - ( Bncproxy
daemon提供用于通过 VNC 连接访问正在运行的实例的代理。支持基于浏览{ J ( W = x器的 novnc 客户端。
-
no $ N 9 P C ] +ova-spicehtml5proxy
daemon提供用于通过 SPX ^ j } _ $ICE 连接访问正在运行的实例的代理。支持基于浏览器的 HTML5 客户端。
-
no& % h , $ F % ;va-xvpC M S l avncproxy
daemon提供用于通T @ * y x F Q ` )过 VNC 连接访问正在运行的实例的代理。支持特定于 OpenStack= U k q | 的 Java 客户端。 自版本 19.0.0 以来已弃用:nova-xvpvnxproxy自 19.0.0 (Stein) 起已弃用,将在即将发布的版本中删除。
-
The queue
用于在守护进程Z O T = ` n之间传递消息的中心中心。通常实现与兔子MQ,但其他选项是可用的。
-
SQL database
存储云基础结构的大多数生成时间和运行时状态,包括:可用实例类型正在使用的实例可用网络项目从理论上讲,Open 2 ! p P RStack 计算可以V j ( n % E n支持 SQLAlchemy 支持的任何数据库。通用数据库是用于测试和开发工作的 SQLite3、) e 4 = ! / J ; bMySQL、MariaDB 和 PostgreSV t ! _ 5 ] H _QL。
安装并配置在 controller node
本节介绍如何在控制器节点上安装和配置计算服务,代号为 nova。
先决条件
在安i v I R W装和配置计算服务之前,必须创建数据库、服务凭据和 API 终结点。
-
若要创建数据库,请完成以下步骤:
-
使用数l E D据库访问客户端以用户方式连接到数据库服务器:
root
$ mysql -u root -p
-
创建 和 数据库:
nova_api``nova``novS +a_D Y N z : o % zcell0
M_ r * 3ariaDB [(none)]> CREATE DATABASE nova_api; MariaDB [(none)]&g} G + J et; CREATE DATABASE nova; MariaDl B E XB [(none)]> CR$ 8 4EATE DATABASE nova_cell0;
-
授予对数据库的适当访问权限:
MariaDB [(none)]> GRANT ALL PRIVI_ ! t V a ] E h ULEGES ON nova_api.* TO 'novah 8 i'@'localhost' IDA | HENTIFIED BY 'noZ ) O : s : Lvar Y l T'; MariaDB [(none)]> GRANT ALL PRIVILEGES ON nova_api.* TO 'nova'@'%' IDENTIFIED BY 'nova'; MariaDB [(none)]> GRANT ALL PRIVILEGES ON nova.* TO g V x e'nova'@'localhost' IDENTIFIED BY 'nova'; MaF X = Y 7 T v / zriaDB [(none)]> GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'%' IDENTIFIED BY 'nova# U ; ^ S ['; MariaDB [(none)]> GRANT ALL PRIVILEGES ONL k z z nova, N j_cell0.* TO 'novaH h # A C Z e k a'@'localhost' IDENTIFIED BY 'nova'; MariaDB [(none)]> GRANT ALL PRIVILEGES ON nova_cell0.* TO 'nova'@'%' IDENTIFIED BY 'nov7 C [ L 9 f na';
替换为合适的密码。
NOVA_DBPASS
- 退出数据库访问客户端。
-
-
源凭据以访问仅管理员 CLI 命令:
admin
$ . admin-openrc
-
创建计算服务凭据:
-
创建用户:
nova
$ opL U + ~enstack user create --domain dT U v s k @efault --pas+ Q ,sword-prompt nova User Password: Repeat User Password: +---------------------+c q 3 k ~ / 2 l %----------------------------------+ | Field | Value | +----------------Y 3 w--T B 2---+----------------------------------+ | domain_id |, O W , O H s default | | enabled | True | | id | d517f9af62a44c2c91d77d3ef71c954f | | name | nova | | options | {} | | password_expires_at | N3 * v & g I 5 k None | +---------------------+---------------------E M g 8 5-------------+
-
将角色添加到用户:
admin
nova
$ openstack role add --project service --user nova admin
-
创建服务实体:
nova
$ openstack service create --name nova --description "OpenStackI . u ` u z Compute" compute +-------------+----------------------o 0 ~ H------------+ | Field | Value | +-------------+----------------------------------+ | description | OpenStack Compute | | enabled | True | | id | de43f2854b234e339962aa2624e8e79eO c , & |m 5 } | name | nova | | typ} ^ = Y ] I *e | compute | +-------------+--------B + b v w I--------------------------+
-
-
创建 Compute API 服务 endpoE P J a Pints:
[root@controller ~]# openstack endpoint create --region RegionOne compute public2 q G l _ http://controller:8774/v2.1 +------G 6 x J R--------+--------------D [ 3 i M w L L v----r l + - 9 } &---------f T 7 } 5-------+ | Field | Value | +--------------+----------------------------------+ | enabled | True | | id |2 ! ; 5 i ; y fa12674701734cc59597ba9b4da00ece | | interface | public | | reK p U = k Pg{ K @ Q Y # x R -ion | RegionOne | | regio^ } ^ ? h P yn_id | Regi) 4 b ; u a N L onOne | | service_iO ] N l p !d | de43f2854b234e33R F 0 l ( ?9962aa2624e8e7] ] f ;9e | | service_name | nova | | service_t| [ n V G T x 8ype |P ! J 0 1 0 A 2 compute | | url | http:R ` S//controller:8774/v2.1 | +------_ @ V J E . 8 c ,--------+-----------Z 3 3 } V ) j u K-----------------------+ [root@controller ~]# openstack endpoint create --region RegionOO / Q @ % D * mne compute internal http? & e://controller:8 z +774/v2.1 +--------------+----------------------------------+ | Field | Value | +-X 8 p S @ 6-------------+------------------q U J i L +------3 r Q----------+ | enabled` p | v ; ; ( ] { | True | | id | 2d2d03409a6cJ Q T4d7983f7c2827f0f84cb | | ing A a B eterface | internal | | region | RegionOne | | regionr ` x_id | RegionOne | | service_id | de43f2854b2+ { v v ! C34e339962aa2624e8e79e | | service_name | nova | | service_type | comG 5 ; -putev , V 2 | | url | http://controller= X j:8774/v2.1 | +--------------+----------------------------------+ [root@controller ~]# opens* A ` j a | Xtackv * U b 6 C Q 7 endpoint create --region RegionOne compute admin http://controller:8774/v2.1 +--------------+--_ ! | C u } t J--------------------------------+ | Field | Value | +---+ k { ^ W v )-----------+----------------------------------+ | enabled | True | | id | 96cedbb8058140fb* ( 8 +9877f46df51c2254 | | interface | admin | | region | RegionOne | | region_id | RegionOneq K 0 q | | serv8 G + W 1 R ; Pice_id | de43f2854b: S = $234e339# $ !962aa2624e8e79e | | service_name | nova | | service_type | compute | | url | http://controllt p D l * G c er! 5 d / +:8774/v2.1 | +--------------+----| E r o V-I c V = e x ?-----------------------------+
安装和配置组件
注意
默认配置文件因分布而异。您可能需要添加这些节和选项,而不是修改现有节和选项。此外,* B 4 ` N配置代码段中的省略号 () 指示应保L C 3 t I留的潜在默认6 2 = 4 M * L配置选项。
...
-
安装包:
# yum install openstack-nova-api openstack-nova-conductor openst4 e n +ack) 0 R-nova-novncproxy openstack-nova-scheduler
-
编辑文件并完成以下操作:
/etc/ny ` 3 f A [ Rova/no@ { Hva.conf
-
在本节中,仅启用计算和元数据 API:
[DEFAULT]
[DEFW ; m ~ U r x ; zAULT] # ... enableA b v Md_apis = osapi_compute,q F Imetadata
-
在 和 部分中,配置数据库访问:
[api_database]
[database]
[api_database] # ... connection = mysql+pymysql://nov? ` r _ a:nova@controller/nova_api [@ ; n 0 j s H S 1database] # ... connection = mysql+pymysql://nova:nova@controller/nova
替换为为计算数据库选择的密码。
NOVA_DBPm H # CASS
-
在 部分中,配置消息队列访问:
[DEFAULT]
RabbitM+ [ 3 e R 0 * W ;Q
[DEFAULT] # ... transport O g g I (_url = rabbit://op; C + 9 d }enstack:openstack@controller:5672/
替换为为 帐户选择的密w e J码。
RABBIT_PASS
openstack
RabbitMQ
-
在 和 部分中,配置标识服务访问:
[api]
[kef y . G h b g Zyston) { = . h ?e_authtoken]
[api] # ... auth_strategy = keystone [keystone_authtoken] # ... www_authenticate_uri = http://controller:5000/% } 1 4 R % N G auth_url = http://contrV j N 9 |oller:5000/ memcached_servers = controller:11211 auth_tyR C U pe = password project_domain_name = Default user_domain_name = Default pq b , 7roject_name = service username = nova password = nova
替换为"标识"服务中为用户选择的密码。
NOVA_PA2 - ] ! k $ 3 % 1SS
nova
注意
注释掉或删除部分中任何其他选项。
[keystone_authb : L =token]
-
在 本节中,配置使用控制器节点的= K H 2 [ B = q &管理接口 IP 地址的选项:
[DEFAULT]
my_ip
[DEFAULT] # ... my_ip = 172.16.3& r : R G ! E0.30
-
在 部分中,启用对网络服务的支持:
[DEFAo 8 . mULT]
[DEFAULT] # ... use_neutron = true firewall_driver = nova.t - v jvirt.firewall.NoopFirewallDriver
注意
默认情况下,计算使用内部防火墙驱动程序。由于网络服务包括防火墙驱X I c i M ] s动程序,因此必须使用防火墙驱动程序禁用计算防火墙; @ V 9 1 d g / :驱动程序。
n% E U l a kova.virt.firewall.NoopFirewallDr9 ; v v #iver
-
配置/etc/nova/novaT J N [ | ] ! N.conf 的部分。有关详细信息,请参阅网络服务安装指南。
[neutron]
-
在 本节中,配置 VNC 代理以使用控制器节点的管理接口 IP 地址:
[vnc]
[vnc] enabled = true # ... server_listen = $P 5 T i zmy_ip server_proxyclient_address = $my_ip
-
在 本节中,配置影像服务 API 的位置:
[glance]
[glance] # ... api_servers = http://controlleQ Q o $ r L d $r:9292
-
在 本节中,配置锁定路径:
[oslo_concurrency]
[oslo_concurrency] # ... lock_path = /var/lib/nova/tmp
-
在 本节中,配置对放置服务的访问:
[placement]
[placement] # ... region_name = RegionOne project_domain_name = Default project_name = service auth_type = password user_domain_name = Default auth_url =$ S x t p u s n G http://controller:5000/v3 username = placement password = placement
替换为为安装放置时创建的服务用户选择的密码。注释掉或删除部分中任何其他选项。w ] J ; q 2 [ |
PLACEMENT_P{ S y l q R ,ASS
placement
[placement]
-
-
填充数据库:
nk j #ova-api
# su -s /bin/sh -c "nova-manage api_db sync" nova
-
注册数据库:
cell0
# su -s /bin/shC ( ^ [ i R y -c "nova-manage cell_v2 map_cell0" nova
-
创建单元格:
cell1
# su -s /bin/sh -c "nova-manage cell_q # O - 7 *v2 create_celD _ } Vl --name=cell1 --verbose" nova 4dcdd538-f978-4cc7-b867-5ec82e270cf9
-
填充 nova 数据库:
# su -s /bin/sh -c "nova-manage db sync" nova
-
验证 nova cell0 和 cell1 注册正确:
# su -! = O @ S i * K Qs /bin/sh -c "nx # + v u o ( qova-manage cell_v2 list_cells" nova +--f i x d i e : /--, L # U k Y---+--------------------------E Z } 2 | [ # O ,------------+------------------V + P B [ R h P 1---------m ` o y T ! ^---------& B ! f # d 5------2 l { _ W n $ h+-------------------------------------------------+----------+ | Name | UUID | Transport URL | Database Connection | DisabB N U Z x rled | +-------+------------C M $ e--------------------------+---------3 n z ; w P O ~---------------------------------+------------------------------------------F R z 9 A G-------+----------+ | cell0 | 00000000-0000-0000-0000-000000000000 | none:/ | mysql+pymysql://nova:****@controller/nova_cell0 | False | | cell1 | 4dcdd538-f978a 6 K C 0 R G-4cc7-bV G y * ! X867-5ec82e270cf9 | rabbit://openstack:***{ ( 3 % S + 7 K +*/ l ` . Q i@controller:5672/ | mysql+pymysql://nova:****@controller/nova | False |? l 9 s J F * B ! +-------0 3 s g G - : E+--------------------------------------+------------------------------------------+---u L , 9 6 7 E-------------------------b $ c Y ^---------------------+----------+
完成安装
-
启动计算服务并将其配置为在系统启动时启动:
# systemctl en, D ! E ; f qable \ openstack-nova-api.service \ openstack-nova-scheduler.service \ openstack-nova-conductor.service \ openstack-nova-novncproxy.service # systemctl start \ openstack-nova-api.service \ o4 $ P L q # xpenstack-nova-scheduler.service \ ope0 + $ * +nstack-nova-conductor.service \ openstack-nov[ O + C ;a-novncproxy.service
安装和配置 compute node
本节介绍如何在计算节点上安装和配置计算服务。该服务支持多个虚拟机管理程序来部署实例或虚拟机 (VM)。为简单起见,此配置使用快速 EMUlator (QEMU) 虚拟机管理程序与基于内核的 VM (KVM) 扩展在支持虚拟机硬件加速的计算节点上。在旧硬件上,此配置使用通用 QEMU 虚拟机管理程序。您可以* z Y q x a按照这些说明进行细微的修改,通过3 _ v E j D 9其他计算节点水平缩放环境。
注意
本节假定您按{ . E d照本指南中的说明逐步配置第一个计算节点。如果要配置其他计算节点,请以与示例体系结构部分中的第一个6 8 J g @ : 7 E x计算节点类似的方式& C C A s准备它们。每个附加计算节点都需要一个唯` _ q d g R一的 IP 地址。
安装和配置组件
注意
默认配置文件因分布而异。o d ; 2 2 u 0您可能需要添加这些节和选项,J , g F f K w | 0而不是修改现有节和选项。此外,配置代码段中的省略号 () 指示应保留的潜在默认配置选项。
...
-
安装包:J B k
# yum2 = Z r Z installo H T b j U openstack-nova-co[ y f ! J g d ; wmpute
-
编辑文件并完成以下操作:
/etc/nova/nova.conf
-
在本节中,仅启用计算和元数据 API:
[DEFAULT]
[DEFAULT] # ... enabled_apis = osapi_compute,metadata
-
在 部分中,配置消息队列访问:
[DEFAUz 3 F s z 4 % OLT]
Rabb/ u g = p + WitMQ
[DEFAULT] # ... transport_url = rabbit://? y { ] I $ mopenstack:openstack@controller
替换为为 帐户选择的密码。
RABBIT_PASS
openstaH b ` Q ?ck
RabbitMQ
-
在 和 部] K f * s 3 1 0分中,配置标识服务访问:
[api]
[keystone_authtoken]
[api] # ... auth_strategy = keystone [keystone_authtoken] # ... www_authenticate_uri = http://controller:5000/ auth_url = http://controller:5000/ memcached_servers6 q r E ! y = controller:11211 auth_type = password project_domain_name = Default user_domain_name = Default project_name = service useq [ @ E xre d + u zname = nova password = nova
替换为"标识"服务中1 p 8 ~ q 7 M B为用户选择的密e H p D { 8 | ;码。
NOVA_PASS
nova
注意
注释掉或删除部分中任何其他选项。
[keB 7 @ 2 7ystone_authtoken]
-
在 本节中,配置选项:
[D4 U J ) K [ s | rEFAULT]
my_ip
[DEFAULT] # ... my_ip = 172.16.P S B d ( ` R S S30.31
替换为计算节点上管理网络接口的 Iy , A lP 地址,通常为示例体系结构中的第一个节点的 10.0.0.31。
MANAGEMENT_INTERFACE_IP_ADDRESS
-
在 部分中,启用对- M F网络服务的支持:
[DEFAULT]
[DEFAULT] # ... user F y Q 3 W q Z Z_neutronz 5 2 ^ v = true firewall_driver = nova.virt.firewall.NoopFirewallDriver
注意
默认情况下,计算使用内部防火墙服务。e 7 Q , s y由于网络包括防火墙服务,因此必须使用防火墙驱动程序禁用计算防火墙服务。] a 0 1
nova.virt.firewall.NoopFirewaly | H x } P plDriver
-
配置/etc/nova/nova.conf 的部分。有关详细信息,请参阅网络服务安装指南。
[neutronb N w v b }]
-
在 本节中,启用并配置远程控制台访问:
[vnc]
[vnc] # ... enabled = true server_listen = 0.0.0.0 ser} r _ R ) 8 zver_proxyclient_address = $my_ip novncproxy_base_url = http://controller:6080/vnc_auto.hk K 6tml
服务器组件侦听所有 IP 地址,代理组件仅侦听计算节点的管理6 2 H a r , e接口 IP 地址。基本 URL 指示您可以使用 Web 浏览器访问此计算节点上实例的远程控制台的位置。
注意
如果访问远程控制台的 Web 浏览器驻留在无法解析主[ , v e机名的主机上,则必须替换为控制器节点的管R F 5 A $ k $理接口 IP 地址。
controller``controller
-
在 本节中,配置影像服务 API 的位~ x ~ q置:
[glance]
[glance] # ... api_se8 ] 0 y | rvers = http://controller:9292
-
在 本节中,配置锁定路径:
[oslo5 Z & J_concurrency]% h U 8 [ E
[oslo_concurrency] # ..l 2 o y ( S P X. lock_path = /var/lib/nova/tmp
-
在本节中,配置放置 API:
[placement]
[placement]e J M V / c @ # ... region_name = RegionOne project_domain_name = Default project_name = service auth_type = password usV x 3 mer_B d % | 3 *domain_name = Default F H f ^ [ auth_url = http://controller:5000/v3 username = placement password = placement
替换为在标识服务: R f F [中为用户选择的密码。注释掉本节中的其他选; e ) S 1项。
PLACEMENT_PASS``placement``[pl| | Wacement]
-
完成安装
-
确定计算节点是否支持虚拟机的硬件加速:
$ egrep -ct n } V v w u '(v7 8 T ) - 7mx|svm)' /proc/cpuinfo
如果此命令返回一个或多个的值,则计算节点支持硬件加速,通常不需要其他配置。
one or greater
如果此命令未返回值,则计算节点不支持硬件加速,并且必须配置为使用 QEMU 而不是 KVM。
zero
lw 8 V 1ibvirt
-
编辑文件中的节,如下所示:
[libvirt]
/etc/nova/nova.conf
[libvirt] # ... virt_type = qemu
-
-
启动计算服务(包括其依赖项,并将其 W 4配置为在系e d j + Q @ j统启动时自动启动:
# systemctl enable libvirtd.service openstack-nova-compute.service # systemctl start libvirtd.service openstack-nova-compute.service
注意
如果服务无法启动,请检查 。错V p N j 6 Q B 2 误消息可能表示控制器节点上的防8 p A ` h 1 r c 1火墙阻止访问端口R Z - 1 5672。配置防火墙以打开控制器节点上的端口 56F p %72 并在计算节点上重新启动服务。
nova-compute
/var/log/nova/nova-compute.log
AMQE K L } V k WP server on controller:5672 is unreachable
nova-compute
将计算节点添加到单元格数据库
重要
在 control node 上运行以下命令。
-
源管理员凭据以启用仅管理员 CLI 命令,然后确认o ) s数据库中有compute node:
$ . admin-openrc $ openstack compute service list --service nova-compute +----+------------6 4 O 1 , )--+---------+------+---------+-------+p A Z e V 5----------------------------+ | ID | Binary | Host | Zone | Status | State | Updated At | +----+--------------+---------+------+---------+-------+------------------------} + L v q S _----+ | 6 | nova-compute | compute | nova | enabled | up | 2020-12-09T09:15:54.000000 | +--p e D--+--------------+---| @ A R g i------+------+----P W a p-----+-------+----------------------------+
-
发现 compute node:
# su -s /bin/sh -c "nova-maz k H 7 t . $ wnage cel, Y h 6 D %l_v2 discover_hosts --verbose" nova Found 2 cell mappings. Skipping cell0 since it does not contain{ A N 8 = b ; b a hosts. Getting computes fro% W E P r 4m cell R M W ] K'celY i v m e jl1': 4dcdd538-f978-4S W O E F qcc7-b867-5ec82e270cf9 CheckinS ~ a zg host mapping for compute host 'compute': c4f438de-128d-42ab-94b5-8460f9c9d4a7 Creating hf G ^ @ i G X Cost mapping for comp` ? - B { p k $ yute host 'compute': c4f438de-128d-42ab-94b5-j 3 @ E M8460f9c9d4a7 Found 1 unmapped computes in cell: 4dcdd538-f978-4cc7-b867-o ] H # ] /5ec82e270cf9
注意
添加新计算节点时,必须在控制器节点上运行以注册这些新计算节点。或K P ; | Y F b者,您可以在 中设置适当的间隔:
nova-manage cell_v2 discover_hosts
/etc/nova/nova.conf
[sche% ~ U &duler] discover_hosts_in_cells_interval = 300
验k , C c } M j P证操作
验证 compute service 的操作。
注意
在控制器节点上执行这些命令。
-
源凭据以访问仅管理员 CLI 命令:
admin
$ . admin-openrc
-
列出服务组件以验证每个进程的成功启动和注册:
$ openstack compute service list +----+----------------+------------+----------+---------+-------+----------------------------+ | ID | Binary | Host | Zone | Status | State | Updated At | +----+-------1 c N I h---------+------------+----------+---------+-------+----------E t L W V G I------------------+ | 1 | nova-conductor | c. F D . : 4 Q pontroller | internal | enabled | up |9 @ t 2020-12-2 z B l ( }09T09:41:D l W24.000000 | | 2 | nova-schedule : ! &r | controller | internal | enabled | up | 2020-12-09T09:41:14.000000 | | 6 | nova-compute | compute | nova | enabled | up | 2020-12-09T09:41:24.000000 | +----+--------------6 ` K--+------T Z u ( Y------+----------+---------+-------+----------------------------+
注意
此输出应指示在控制@ L 7 & 1 ^器节点上启用的两个服务组4 { s $ E h a件和在计算节点上启用的一个服务组件。
-
在标识q b 6 r ^服务中列出 API 终q f U结点以验证与标识服务的连接:
注意
下面的终结点列表可能因 OpenStack 组件的安装而异。
$ openstack catalog list +-----------+-----------+-----------------------------------------+ | Name | Type | Endpoints | +-----------+------N !-----+-----------------------------------------z T x [ =+ | placement | placement | RegionOne | | | | public: http://controller:8778 | | | | Regid 2 +onOne | | | | internal: http://controller:8778 | | | | RegionOne | | | | admin: http://controller:8778 | | | | | | glance | image | RegionOne | | | | admin: hte G w + S p N =tp://controller:9292 | | | | RegionOne | | | | internt D v J 5 q ] [ Wal: http://controller:9292 | | | | RegionOne | | | | public: http://controller:9292 | | | | | | keystone | identity | RegionOne | | | | public: http://controller:5000/v3/ | | | | RegionOne | | | | internal: http://controller:5000/v3/ | | | | RegionOnh { V ) 6 i - le | | | | admin:0 t } ! p 0 B v f http://controllP [ f , C * y 0 %er:5000/v3/ | | | | | | nova | compute | RegionOne | | | | internaP v n _ : (l: http://controller:8774/v2.1 | | | | RegionOne | | | | admin: http://controller:8r F n @ : - E # ?774/v2.1 | | | | RegionOne | | | | publih R 3 # f ~c: http://controller:87741 ~ 8 } y y [ Z/v2.1 | | | | | +-----------+-----------+-----------------------------------------+
注意
忽略此输出中的任何警告。
-
在影像服务中列出图像以验证与影像服务的连接:
$ opensV x 0 1tack image list +--------------------------------------+[ ~ I m H P------------+--------+ | ID | Namez ] O ? o X | Status | +----8 C q @ r P o E G----------------------------------+-----------_ W i 3 7 0 L /-+--------+ | 19073eea-c2f0-47b5-9a55-f084815f1c0f | cirros | active | | 807815i 5 7 & e x Y Iff-450f-4be2-85ee-87841928451f | cirros_x64& D C o w | active | +----------------------------^ b * R p 4----------+--6 4 N ( 0 N Z Z----------+--------+
-
检查单元格和放置 API 是否正常工作,以及是否已设置Z T * 0 $ o #其他m k & S l Z t必要的先决条件:
# nova-status upgrade check +---------------------------+ J w _ r-----+ | Upgrade Check Results | +------------------h R B B--------------+ | Check: Cells v2 | | Result: Success | | Details: None | +------------------x } } ` o m s L A--------------+ | Check: Placement API | | ResS W # r n q } XulB a at: Success | |G O D V h Details: None | +------------------b c + b u ~--------------+ | Check: Ironic Flavor Migration | | Result: Success | | Details: None | +--------------------------------+ |a J ! S x ; Check: Cinder API | | Result: Success | | Details: None | +----Z : ~ c %------G @ H ~ - p +-----------------i I X _ V S-----+
发表评论