OpenStack Victoria搭建(七)安装并验证 Placement

article/2025/8/30 9:31:43

介绍

✔ 笔记
在 Stein 发布之前,放置代码与计算 REST API 代码 (nova-api) 一起在 Nova 中。确保本文档的发布版本与您要部署的发布版本匹配。

步骤概述

  1. 部署API服务
    Placement 提供了一个placement-apiWSGI 脚本,用于使用 Apachenginx 或其他支持 WSGI 的 Web 服务器运行服务。根据用于部署 OpenStack 的打包解决方案,WSGI 脚本可能位于 /usr/bin/usr/local/bin
    placement-api,作为标准的 WSGI 脚本,提供了 application大多数 WSGI 服务器期望找到的模块级属性。这意味着可以在许多不同的服务器上运行它,从而在面对不同的部署场景时提供灵活性。常见的场景包括:

    • 带有mod_wsgi的apache2

    • apache2 与mod_proxy_uwsgi

    • nginx与uwsgi

    • nginx 与gunicorn

    在所有这些场景中,应用程序的主机、端口和安装路径(或前缀)都在 Web 服务器的配置中控制,而不是在placement.conf放置应用程序的配置 ( ) 中。

    当放置第一次添加到 DevStack时,它使用了mod_wsgi样式。后来它被更新为使用mod_proxy_uwsgi。查看这些更改有助于理解相关选项。

    DevStack 配置为在/placementhttp 或 https (80或443) 的默认端口上托管放置,具体取决于是否使用 TLS。使用默认端口是可取的。

    默认情况下,放置应用程序将从/etc/placement/placement.conf. 可以通过 OS_PLACEMENT_CONFIG_DIR在启动应用程序的进程的环境中设置来更改配置文件所在的目录。随着最近的版本oslo.config,配置选项也可以在环境中设置。

    笔记
    当使用带有前端(例如,apache2 或 nginx)的 uwsgi 时,需要确保 uwsgi 进程正在运行。在 DevStack 中,这是通过systemd完成的。这是管理 uwsgi 的许多不同方法之一。

    本文档不声明放置服务的一组安装说明。这是因为拥有 WSGI 应用程序的一个重点是使部署尽可能灵活。因为放置 API 服务本身是无状态的(所有状态都在数据库中),所以可以在负载平衡解决方案后面部署任意数量的服务器,以实现强大而简单的扩展。如果您熟悉安装通用 WSGI 应用程序(使用上面常见场景列表中的链接),那么这些技术将适用于此处。

  2. 同步数据库

    放置服务使用自己的数据库,在 placement_database配置部分定义。必须设置该 placement_database.connection选项,否则服务将无法启动。命令行工具placement-manage 可用于将数据库表迁移到正确的形式,包括创建它们。该选项描述的数据库必须已经存在并定义了适当的访问控制。connection

    同步的另一个选项是在配置中 placement_database.sync_on_startup设置True。这将在放置 Web 服务启动时执行所有丢失的数据库迁移。您是选择自动同步还是使用命令行工具取决于您的环境和部署工具的限制。

    ⚠ 警告
    在 Stein 版本中,放置代码是从 nova 中提取的。如果要升级以使用提取的展示位置,则需要将展示位置数据从nova_api数据库迁移到placement数据库。您可以在放置存储库中找到可能对此有所帮助的示例脚本: mysql-migrate-db.sh和postgresql-migrate-db.sh。另请参阅升级说明。

    ✔ 笔记
    升级到 Stein 时,与其他 OpenStack 服务同时升级到提取的位置是一个选项,但不是必需的。nova 代码将继续在其 Stein 版本中提供放置服务的副本。但是,此副本将在 Train 中删除,并且需要在升级到 Train 之前切换到提取的版本(可能在上述脚本的帮助下)。

  3. 创建账户并更新服务目录

    在 Keystone 中创建一个具有管理员角色的放置服务用户。

    放置 API 是一个单独的服务,因此应该在服务目录中的放置服务类型下注册。放置的客户端,例如 nova-compute 节点中的资源跟踪器,将使用服务目录来查找放置端点。

    有关创建服务用户和目录条目的示例,请参阅配置用户和端点。

    /placementDevstack 在默认 HTTP 端口 (80) 上使用前缀而不是使用独立端口设置放置服务 。

安装包

本节提供有关从 Linux 分发包安装放置的说明。

⚠ 警告
这些安装文档正在进行中。提到的某些分发包尚不可用,因此这些说明将不起作用。

放置服务提供了一个HTTP API,用于跟踪资源提供者的清单和使用情况。更多细节可以在安置概览中找到。

Placement 作为数据模型上的 Web 服务运行。安装涉及创建必要的数据库以及安装和配置 Web 服务。这是一个简单的过程,但是有很多步骤可以将布局与 OpenStack 云的其余部分集成。

✔ 笔记
一些其他 OpenStack 服务需要放置,特别是 nova,因此它应该安装在其他服务之前,但在 Identity(keystone)之后。


创建数据库、服务凭证和 API 端点。

此操作在 controller 节点上进行。

1. 创建数据库

  1. 使用数据库访问客户端以root用户身份连接数据库服务器:
    mysql -u root -p
    
  2. 创建placement数据库:
    MariaDB [(none)]> CREATE DATABASE placement;
    
  3. 授予对数据库的适当访问权限:
    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';
    
  4. 退出数据库访问客户端。

2. 配置用户和端点

  1. 获取admin凭据以访问仅限管理员的 CLI 命令:

    source ./admin_openrc
    
  2. 使用您选择的创建放置服务用户PLACEMENT_PASS:

    openstack user create --domain default --password-prompt placement
    

    在这里插入图片描述

  3. 将 Placement 用户添加到具有管理员角色的服务项目中:

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

    ✔ 笔记
    此命令不提供任何输出。

  4. 在服务目录中创建 Placement API 条目:

    openstack service create --name placement \--description "Placement API" placement
    

    在这里插入图片描述

  5. 创建 Placement API 服务端点:

    ✔ 笔记
    根据您的环境,端点的 URL 会因端口(可能是 8780 而不是 8778,或者根本没有端口)和主机名而异。您有责任确定正确的 URL。

    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
    

    在这里插入图片描述

3. 安装和配置组件

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

  1. 安装软件包

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

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

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

      替换PLACEMENT_DBPASS为您为放置数据库选择的密码。

    • 在[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

      ✔ 笔记
      注释掉或删除该[keystone_authtoken] 部分中的任何其他选项。

      ✔ 笔记
      user_name、password和的值需要与您的 keystone 配置同步project_domain_name。 user_domain_name

  3. 填充placement数据库

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

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

  4. 修改配置文件 /etc/httpd/conf.d/00-placement-api.conf
    在文件的最后添加:

    <Directory /usr/bin><IfVersion >= 2.4>Require all granted</IfVersion><IfVersion < 2.4>Order allow,denyAllow from all</IfVersion>
    </Directory>
    

    添加后如下:
    在这里插入图片描述

4. 完成安装

重启httpd服务

systemctl restart httpd

验证安装

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

  1. 获取admin凭据以访问仅限管理员的 CLI 命令:

    source ./admin_openrc
    
  2. 执行状态检查以确保一切正常:

    placement-status upgrade check
    

    该命令的输出会因版本而异。
    在这里插入图片描述

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

    • 安装osc-placement插件:

      ✔ 笔记
      此示例使用PyPI和pip,但如果您使用的是分发包,则可以从其存储库安装包。迁移到 python3 后,您将需要指定pip3或从您的发行版安装python3-osc-placement 。

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

      openstack --os-placement-api-version 1.2 resource class list --sort-column name
      

      在这里插入图片描述

      openstack --os-placement-api-version 1.6 trait list --sort-column name
      

      在这里插入图片描述


http://chatgpt.dhexx.cn/article/QjUMI70f.shtml

相关文章

ICC2 user guide(二)Placement and Optimization

目录 一 Specifying Coarse Placement Constraints and Settings 1 Defining Keepout Margins 2 Defining Area-Based Placement Blockages 2.1 Defining a Placement Blockage 2.2 Define a Blockage of a Predefined Category

超详细Openstack核心组件——Placement部署

目录 OpenStack-Placement组件部署创建数据库实例和数据库用户创建Placement服务用户和API的endpoint 总结 OpenStack-Placement组件部署 继之前glance部署之后&#xff0c;继续部署Placement 创建数据库实例和数据库用户 [rootct ~]# mysql -uroot -p MariaDB [(none)]>…

OpenStack | Placement组件

&#x1f43c; Placement组件部署创建数据库实例和用户创建Placement服务用户和API的endpoint Placement 的安装与配置修改Apache配置文件 验证 Placement组件部署 openstack部署遵循以下顺序 创建数据库实例和用户 mysql -u root -p密码 create database placement;grant …

operator new与placement new

通常讲的new指的是new operator&#xff0c;使用new operator的时候&#xff0c;实际上执行了三个步骤: 1&#xff09;调用operator new分配内存 &#xff1b;2&#xff09;调用构造函数生成类对象&#xff1b;3&#xff09;返回相应指针。 分配内存这一操作是由operator new…

ICC II 2 placement

整个笔记比较长 建议搜索食用 placement的关键步骤 #mermaid-svg-gdanrmmgqcQiRsLU .label{font-family:trebuchet ms, verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-gdanrmmgqcQiRsLU .label text{fill:#333}#mermaid-svg-gdanr…

openstack placement

openstack placement posted on 2018-07-18 14:06 秦瑞It行程实录 阅读( ...) 评论( ...) 编辑 收藏 转载于:https://www.cnblogs.com/ruiy/p/9328845.html

OpenStack部署之Placement项目(7-4)

OpenStack部署之Placement项目&#xff08;7-4&#xff09; 一、Placement概述二、OpenStack-Placement组件部署1、创建数据库实例和数据库用户2、创建Placement服务用户和API的endpoint3、安装placement服务4、修改00-placemenct-api.conf配置文件5、测试访问和端口号6、总结 …

Placement service – placement安装(wallaby-allinone)

Placement service – placement安装&#xff08;wallaby-allinone&#xff09; 1 必须 在安装和配置放置服务之前&#xff0c;您必须创建数据库、服务凭证和 API 端点。 创建数据库 要创建数据库&#xff0c;请完成以下步骤&#xff1a; 使用数据库访问客户端以root用户身份…

Placement Rules 使用文档

注意 本文介绍如何手动在 Placement Driver (PD) 中设置 Placement Rules。推荐使用 Placement Rules in SQL&#xff0c;让你更方便地设置表和分区的放置。 Placement Rules 是 PD 在 4.0 版本引入的一套副本规则系统&#xff0c;用于指导 PD 针对不同类型的数据生成对应的调…

Placement Driver

目录 PD架构 路由功能 TSO分配 时间窗口 调度 Label 例题 PD架构 PD由至少三个节点组成&#xff0c;并集成了ETCD&#xff0c;支持自动故障转移&#xff0c;无需担心单点故障 &#xff1b;同时ETCD raft 保证数据一致性 三个PD节点中有一个leader&#xff0c;当leader出…

Placement

程序功能&#xff1a;进入brd版图环境下的布局显示模式。 快捷键为&#xff1a;p或者P 布局模式&#xff0c;只显示器件的焊盘、器件外形丝印、ROUTE KEEPOUT铜皮、PACKAGE KEEPOUT铜皮和器件的PLACE_BOUND铜皮。

ICC图文流程——(三)布局Placement

ICC布局阶段 在布局规划阶段完成了芯片的整体规划&#xff0c;而布局阶段主要是软件自动的标准单元的摆放。 在布局开始之前&#xff0c;需要对设计进行确认和检查。 主要确认内容包括&#xff1a; 检查设计中的所有macro是否设置为dont_touch属性。在大多数情况下&#xff0…

想要彻底掌握placement各种技巧,这个一定可以如你所愿

想要彻底掌握placement各种技巧&#xff0c;这个一定可以如你所愿&#xff01; 文章右侧广告为官方硬广告&#xff0c;与吾爱IC社区无关&#xff0c;用户勿点。点击进去后出现任何损失与社区无关。 大家应该也都知道最近小编在忙项目&#xff0c;而且是相当的忙&#xff0c;到处…

openstack 【T版】(四)——部署placement

openstack 【T版】&#xff08;四&#xff09;——部署placement 一、Placement概念二、OpenStack-Placement组件部署1.创建数据库实例和数据库用户2.创建placement用户、授权、创建placement服务3.注册API端口到placement的service中&#xff1b;注册的信息会写入到mysql中4.安…

牛血清白蛋白标记微囊藻毒素(MCLR)(BSA-MCLR)

本制品以牛血清白蛋白BSA-微囊藻毒素MCLR经化学交联获得的偶联物。 微囊藻毒素(Microcystin&#xff0c;MC)是一类具有生物活性的环状七肽化合物 MC具有水溶性和耐热性&#xff0c;加热煮沸都不能将毒素破坏&#xff1b;自来水处理工艺的混凝沉淀、过滤、加氯、氧化、活性炭吸…

you-get使用二三谈 (亲测感想 )

1.you-get是什么 you-get是Github上的一个项目&#xff0c;源项目托管地址对其介绍如下&#xff1a;You-Get is a tiny command-line utility to download media contents (videos, audios, images) from the Web, in case there is no other handy way to do it. You-Get是一…

预训练语言模型论文分类整理

© 作者&#xff5c;王晓磊 机构&#xff5c;中国人民大学高瓴人工智能学院博士生 导师&#xff5c;赵鑫教授 研究方向 | 对话系统 1. 引言 近年来&#xff0c;以 BERT 和 GPT 系列为代表的大规模预训练语言模型&#xff08;Pre-trained Language Model, PLM&#…

Antigen for exchange 部署+评测

antigen系列是Forefront系列的早期版本&#xff0c;基本上除了换了个名字意外别的界面都没有换&#xff0c;微软的windows让我们家喻户晓&#xff0c;可是微软做杀毒软件却远不及诺顿等杀软大牌厂商&#xff0c;当微软推出Forefront的时候&#xff0c;又一次的给人以惊喜&#…

Windows10内置Linux子系统初体验

转载自&#xff1a; http://www.jianshu.com/p/bc38ed12da1d WSL 前言 前段时间&#xff0c;机子上的win10又偷偷摸摸升级到了一周年正式版&#xff0c;比较无奈。不过之前听闻这个版本已经支持内置的linux子系统&#xff0c;于是就怀着好奇心试玩了一把。虽然期间遇到了很多问…

《预训练周刊》第29期:Swin Transformer V2:扩大容量和分辨率、SimMIM:用于遮蔽图像建模的简单框架...

No.29 智源社区 预训练组 预 训 练 研究 观点 资源 活动 关于周刊 本期周刊&#xff0c;我们选择了10篇预训练相关的论文&#xff0c;涉及图像处理、图像屏蔽编码、推荐系统、语言模型解释、多模态表征、多语言建模、推理优化、细胞抗原预测、蛋白结构理解和化学反应的探索。此…