Placement service – placement安装(wallaby-allinone)

Placement service – placement安装(wallaby-allinone)

1 必须

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

创建数据库

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

    • 使用数据库访问客户端以root用户身份连接数据库服务器:

      $ mysql -u root -p
      
    • 创建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为合适的密码。这里是123456

    • 退出数据库访问客户端。

      quit;
      

      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yJqQH6EO-1642475563318)(C:\Users\10973\AppData\Roaming\Typora\typora-user-images\image-20211130192023854.png)]

配置用户和端点

  1. 来源admin凭据来访问仅管理员CLI命令:

    $ . admin-openrc.sh
    
  2. 使用您选择的创建一个安置服务用户PLACEMENT_PASS

    $ openstack user create --domain default --password-prompt placement
    
    User Password:123456
    Repeat User Password:123456
    +---------------------+----------------------------------+
    | Field               | Value                            |
    +---------------------+----------------------------------+
    | domain_id           | default                          |
    | enabled             | True                             |
    | id                  | fa742015a6494a949f67629884fc7ec8 |
    | name                | placement                        |
    | options             | {}                               |
    | password_expires_at | None                             |
    +---------------------+----------------------------------+
    

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IVMrmGmP-1642475563322)(C:\Users\10973\AppData\Roaming\Typora\typora-user-images\image-20211130192147466.png)]

    密码123456

  3. 将 Placement 用户添加到具有 admin 角色的服务项目:

    $ openstack role add --project service --user placement admin
    

    此命令不提供任何输出。

  4. 在服务目录中创建 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           |
    +--------------+----------------------------------+
    

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-iOw7YmJ0-1642475563323)(C:\Users\10973\AppData\Roaming\Typora\typora-user-images\image-20211202140937854.png)]

安装和配置组件

默认配置文件因发行版而异。您可能需要添加这些部分和选项,而不是修改现有的部分和选项。此外,...配置片段中的省略号 ( ) 表示您应该保留的潜在默认配置选项。

  1. 安装软件包:

    # yum install openstack-placement-api -y
    
  2. 编辑/etc/placement/placement.conf文件并完成以下操作:

    • 在该[placement_database]部分中,配置数据库访问:

      [placement_database]
      # ...
      connection = mysql+pymysql://placement:123456@controller/placement
      

      替换PLACEMENT_DBPASS为您为展示位置数据库选择的密码。此处为123456

    • [api][keystone_authtoken]部分,配置身份服务访问:

      [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为您placement在身份服务中为用户选择的密码 。此处为123456

注释掉或删除该[keystone_authtoken] 部分中的任何其他选项。
3. 填充placement数据库:

# su -s /bin/sh -c "placement-manage db sync" placement

忽略此输出中的任何弃用消息。

必须进行下面这一步,否则后面nova会出错

BUG1

Due to a packaging bug, you must enable access to the Placement API by adding the following configuration to

/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
    

验证安装

验证放置服务的操作。

admin在进行这些调用之前,您需要对身份服务进行身份验证 。有许多不同的方法可以做到这一点,这取决于您的系统是如何设置的。如果你没有admin-openrc文件,你会有类似的东西。

  1. 来源admin凭据来访问仅管理员CLI命令:

    $ . admin-openrc.sh
    
  2. 执行状态检查以确保一切正常:

    $ placement-status upgrade check
    +----------------------------------+
    | Upgrade Check Results            |
    +----------------------------------+
    | Check: Missing Root Provider IDs |
    | Result: Success                  |
    | Details: None                    |
    +----------------------------------+
    | Check: Incomplete Consumers      |
    | Result: Success                  |
    | Details: None                    |
    +----------------------------------+
    

    该命令的输出将因版本而异。有关详细信息,请参阅放置状态升级检查

  3. 针对放置 API 运行一些命令:

    • 安装osc-placement插件:

      此示例使用PyPIpip,但如果您使用分发包,则可以从其存储库安装该包。随着迁移到 python3,您将需要指定pip3或从您的发行版安装python3-osc-placement

      $ pip3 install osc-placement
      
    • 列出可用的资源类和特征:

      $ openstack --os-placement-api-version 1.2 resource class list --sort-column name
      +----------------------------+
      | name                       |
      +----------------------------+
      | DISK_GB                    |
      | IPV4_ADDRESS               |
      | ...                        |
      
      $ openstack --os-placement-api-version 1.6 trait list --sort-column name
      +---------------------------------------+
      | name                                  |
      +---------------------------------------+
      | COMPUTE_DEVICE_TAGGING                |
      | COMPUTE_NET_ATTACH_INTERFACE          |
      | ...                                   |
      

w版的显示了

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rx8r8nPj-1642475563324)(C:\Users\10973\AppData\Roaming\Typora\typora-user-images\image-20211202163050490.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lBPKZWGW-1642475563325)(C:\Users\10973\AppData\Roaming\Typora\typora-user-images\image-20211202163110603.png)]

检测

在未来的版本中,oslo 策略将移除对 JSON 格式的策略文件的支持,为了顺利迁移到 YAML 格式的策略文件,您可以使用oslopolicy-convert-json-to-yaml工具将现有的 JSON 格式的文件转换为 YAML 文件。

placement-status upgrade check

对于w版本 如果直接检测会出错

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-F2xzwl4e-1642475563327)(C:\Users\10973\AppData\Roaming\Typora\typora-user-images\image-20211130193539537.png)]

需要进如placement的目录

cd /etc/placement/
ls

将policy.json利用oslopolicy-convert-json-to-yaml工具转换成policy.yaml

oslopolicy-convert-json-to-yaml --namespace placement --policy-file policy.json --output-file policy.yaml
cp policy.json policy.json.bak
rm policy.json

再次检测 没有错误

placement-status upgrade check

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tHhbjybv-1642475563328)(C:\Users\10973\AppData\Roaming\Typora\typora-user-images\image-20211130193650451.png)]

placement安装完毕
### 回答1: 你可以按照以下步骤在Linux中安装placement组件: 1. 首先,确保你的Linux系统已经安装OpenStack软件包。 2. 打开终端并输入以下命令以安装placement组件: sudo apt-get install placement-api 3. 安装完成后,启动placement服务: sudo systemctl start placement-api 4. 确认placement服务已经启动: sudo systemctl status placement-api 5. 如果服务已经启动,你可以通过以下命令测试它是否正常工作: curl http://localhost:8778/ 如果返回类似于以下内容的JSON响应,则说明placement服务已经成功安装并运行: {"versions": [{"status": "CURRENT", "updated": "2021-01-01T00:00:00Z", "media-types": [{"base": "application/json", "type": "application/vnd.openstack.placement+json;version=1"}], "id": "v1.", "links": [{"href": "http://localhost:8778/v1/", "rel": "self"}]}]} ### 回答2: 要在Linux中安装placement组件,可以按照以下步骤进行操作: 1. 首先,确保您的Linux系统已经安装OpenStack平台,因为placementOpenStack的一个组件。 2. 接下来,打开终端并使用root或管理员权限登录到Linux系统。 3. 在终端中运行以下命令以安装placement组件所需的软件包和依赖项: ``` $ sudo apt-get update $ sudo apt-get install placement-api ``` 4. 安装过程可能需要一些时间,取决于系统和网络连接的速度。完成安装后,您将在Linux系统上成功安装placement组件。 5. 接下来,需要配置placement组件。编辑以下文件以进行配置: ``` $ sudo vi /etc/placement/placement.conf ``` 在该文件中,您可以设置placement组件的端口、IP地址、认证令牌等选项。 6. 配置完成后,保存并退出文件。然后,使用以下命令启动placement服务: ``` $ sudo systemctl start placement-api ``` 7. 您还可以将placement服务设置为在系统引导时自动启动: ``` $ sudo systemctl enable placement-api ``` 这样,每次系统启动时,placement组件将自动启动。 现在,您已经成功地在Linux系统中安装并配置了placement组件。您可以通过访问相应的IP地址和端口来测试和使用该组件。如果您还需要其他帮助,可以参考官方文档或寻求社区支持。 ### 回答3: 在Linux操作系统中安装placement组件可以按以下步骤进行: 1. 首先,确保已经安装了适当的依赖项。placementOpenStack项目的一部分,用于资源调度和管理。它需要在系统上安装Python、MySQL数据库和其他OpenStack组件。 2. 下一步是下载placement组件的源代码。可以从GitHub上的OpenStack仓库下载最新的稳定版本。可以使用git命令从命令行中克隆仓库:`git clone https://github.com/openstack/placement` 3. 安装虚拟环境(virtualenv)是一种隔离Python环境的有效方法。在命令行中运行以下命令来创建虚拟环境:`virtualenv placement-venv` 4. 进入虚拟环境:`source placement-venv/bin/activate` 5. 使用pip安装必要的依赖项:`pip install -r placement/requirements.txt` 6. 配置placement组件,创建该组件所需的配置文件。可以从placement源代码的`etc/placement.conf.sample`文件中复制一个示例配置文件,并根据需要进行修改。 7. 初始化数据库。可以使用placement项目中提供的命令行工具进行数据库初始化。运行以下命令:`placement-manage db sync` 8. 启动placement服务。在命令行中运行以下命令:`placement-api` 9. 在浏览器中访问`http://placement-api-host:port`,其中`placement-api-host`是运行placement服务的主机名或IP地址,`port`是配置中指定的端口号。 总而言之,安装并配置placement组件需要下载源代码、安装依赖项、创建虚拟环境、配置文件和数据库,并启动placement服务。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值