为 Ubuntu 安装和配置 Placement¶
本节描述了在使用 Ubuntu 包时如何安装和配置 placement 服务。
先决条件¶
在安装和配置 placement 服务之前,您必须创建数据库、服务凭证和 API 端点。
创建数据库¶
要创建数据库,请完成以下步骤
使用数据库访问客户端以
root用户身份连接到数据库服务器# mysql创建
placement数据库MariaDB [(none)]> CREATE DATABASE placement;授予数据库的适当访问权限
MariaDB [(none)]> GRANT ALL PRIVILEGES ON placement.* TO 'placement'@'localhost' \ IDENTIFIED BY 'PLACEMENT_DBPASS'; MariaDB [(none)]> GRANT ALL PRIVILEGES ON placement.* TO 'placement'@'%' \ IDENTIFIED BY 'PLACEMENT_DBPASS';
将
PLACEMENT_DBPASS替换为合适的密码。退出数据库访问客户端。
配置用户和端点¶
激活
admin凭证以访问仅管理员可用的 CLI 命令$ . admin-openrc
使用您选择的
PLACEMENT_PASS创建 Placement 服务用户$ openstack user create --domain default --password-prompt placement User Password: Repeat User Password: +---------------------+----------------------------------+ | Field | Value | +---------------------+----------------------------------+ | domain_id | default | | enabled | True | | id | fa742015a6494a949f67629884fc7ec8 | | name | placement | | options | {} | | password_expires_at | None | +---------------------+----------------------------------+
将 Placement 用户添加到具有 admin 角色的服务项目
$ openstack role add --project service --user placement admin
注意
此命令不会产生任何输出。
在服务目录中创建 Placement API 条目
$ openstack service create --name placement \ --description "Placement API" placement +-------------+----------------------------------+ | Field | Value | +-------------+----------------------------------+ | description | Placement API | | enabled | True | | id | 2d1a27022e6e4185b86adac4444c495f | | name | placement | | type | placement | +-------------+----------------------------------+
创建 Placement API 服务端点
注意
根据您的环境,端点的 URL 将因端口(可能为 8780 而不是 8778,或者根本没有端口)和主机名而异。您有责任确定正确的 URL。
$ openstack endpoint create --region RegionOne \ placement public http://controller:8778 +--------------+----------------------------------+ | Field | Value | +--------------+----------------------------------+ | enabled | True | | id | 2b1b2637908b4137a9c2e0470487cbc0 | | interface | public | | region | RegionOne | | region_id | RegionOne | | service_id | 2d1a27022e6e4185b86adac4444c495f | | service_name | placement | | service_type | placement | | url | http://controller:8778 | +--------------+----------------------------------+ $ openstack endpoint create --region RegionOne \ placement internal http://controller:8778 +--------------+----------------------------------+ | Field | Value | +--------------+----------------------------------+ | enabled | True | | id | 02bcda9a150a4bd7993ff4879df971ab | | interface | internal | | region | RegionOne | | region_id | RegionOne | | service_id | 2d1a27022e6e4185b86adac4444c495f | | service_name | placement | | service_type | placement | | url | http://controller:8778 | +--------------+----------------------------------+ $ openstack endpoint create --region RegionOne \ placement admin http://controller:8778 +--------------+----------------------------------+ | Field | Value | +--------------+----------------------------------+ | enabled | True | | id | 3d71177b9e0f406f98cbff198d74b182 | | interface | admin | | region | RegionOne | | region_id | RegionOne | | service_id | 2d1a27022e6e4185b86adac4444c495f | | service_name | placement | | service_type | placement | | url | http://controller:8778 | +--------------+----------------------------------+
安装和配置组件¶
注意
默认配置文件因发行版而异。您可能需要添加这些部分和选项,而不是修改现有的部分和选项。此外,配置片段中的省略号 (...) 表示您应该保留的潜在默认配置选项。
安装软件包
# apt install placement-api
编辑
/etc/placement/placement.conf文件并完成以下操作在
[placement_database]部分,配置数据库访问[placement_database] # ... connection = mysql+pymysql://placement:PLACEMENT_DBPASS@controller/placement
将
PLACEMENT_DBPASS替换为您为 placement 数据库选择的密码。在
[api]和[keystone_authtoken]部分,配置 Identity 服务访问[api] # ... auth_strategy = keystone [keystone_authtoken] # ... auth_url = http://controller:5000/v3 memcached_servers = controller:11211 auth_type = password project_domain_name = Default user_domain_name = Default project_name = service username = placement password = PLACEMENT_PASS
将
PLACEMENT_PASS替换为您为 Identity 服务中的placement用户选择的密码。注意
注释掉或删除
[keystone_authtoken]部分中的任何其他选项。注意
user_name、password、project_domain_name和user_domain_name的值需要与您的 keystone 配置同步。
填充
placement数据库# su -s /bin/sh -c "placement-manage db sync" placement
注意
忽略此输出中的任何弃用消息。
完成安装¶
重新加载 Web 服务器以适应 placement 的新配置设置。
# service apache2 restart