OpenStack Victoria搭建(七)安装并验证 Placement
介绍
✔ 笔记
在 Stein 发布之前,放置代码与计算 REST API 代码 (nova-api) 一起在 Nova 中。确保本文档的发布版本与您要部署的发布版本匹配。
步骤概述
部署API服务
Placement 提供了一个placement-apiWSGI
脚本,用于使用Apache
、nginx
或其他支持 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 应用程序(使用上面常见场景列表中的链接),那么这些技术将适用于此处。
同步数据库
放置服务使用自己的数据库,在 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 之前切换到提取的版本(可能在上述脚本的帮助下)。创建账户并更新服务目录
在 Keystone 中创建一个具有管理员角色的放置服务用户。
放置 API 是一个单独的服务,因此应该在服务目录中的放置服务类型下注册。放置的客户端,例如 nova-compute 节点中的资源跟踪器,将使用服务目录来查找放置端点。
有关创建服务用户和目录条目的示例,请参阅配置用户和端点。
/placementDevstack 在默认 HTTP 端口 (80) 上使用前缀而不是使用独立端口设置放置服务 。
安装包
本节提供有关从 Linux 分发包安装放置的说明。
⚠ 警告
这些安装文档正在进行中。提到的某些分发包尚不可用,因此这些说明将不起作用。
放置服务提供了一个HTTP API,用于跟踪资源提供者的清单和使用情况。更多细节可以在安置概览中找到。
Placement 作为数据模型上的 Web 服务运行。安装涉及创建必要的数据库以及安装和配置 Web 服务。这是一个简单的过程,但是有很多步骤可以将布局与 OpenStack 云的其余部分集成。
✔ 笔记
一些其他 OpenStack 服务需要放置,特别是 nova,因此它应该安装在其他服务之前,但在 Identity(keystone)之后。
创建数据库、服务凭证和 API 端点。
此操作在 controller 节点上进行。
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';
- 退出数据库访问客户端。
2. 配置用户和端点
获取admin凭据以访问仅限管理员的 CLI 命令:
source ./admin_openrc
使用您选择的创建放置服务用户PLACEMENT_PASS:
openstack user create --domain default --password-prompt placement
将 Placement 用户添加到具有管理员角色的服务项目中:
openstack role add --project service --user placement admin
✔ 笔记
此命令不提供任何输出。在服务目录中创建 Placement API 条目:
openstack service create --name placement \--description "Placement API" placement
创建 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. 安装和配置组件
✔ 笔记
默认配置文件因发行版而异。您可能需要添加这些部分和选项,而不是修改现有的部分和选项。此外,配置片段中的省略号 ( …) 表示您应该保留的潜在默认配置选项。
安装软件包
yum install openstack-placement-api -y
配置
编辑/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
填充placement数据库
su -s /bin/sh -c "placement-manage db sync" placement
✔ 笔记
忽略此输出中的任何弃用消息。修改配置文件
/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文件,你会有类似的东西。
获取admin凭据以访问仅限管理员的 CLI 命令:
source ./admin_openrc
执行状态检查以确保一切正常:
placement-status upgrade check
该命令的输出会因版本而异。
针对放置 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
OpenStack Victoria搭建(七)安装并验证 Placement相关推荐
- OpenStack Victoria搭建(一)简介
简介 OpenStack 项目是一个适用于所有类型云的开源云计算平台,旨在实现简单.可大规模扩展和功能丰富.来自世界各地的开发人员和云计算技术人员创建了 OpenStack 项目. OpenStack ...
- 验证python安装_Python环境搭建(安装、验证与卸载)
电脑系统版本 :Win8.1/64位 Python官网地址:www.python.org Python安装版本:3.7.2 本文目录: 一.Python的安装 二.验证Python安装的情况 三. ...
- 使用RDO Packstack在CentOS 8上安装OpenStack Victoria
点击左上方关注 " 新钛云服 " Openstack是一种免费的开源私有云软件,通过它我们可以使用单个图形化界面和通过openstack cli命令轻松管理数据中心的计算,网络和存 ...
- OpenStack环境搭建(三:Computer与Controller节点的安装及配置)
实验要求: 完成Virtual box平台安装,会应用相关操作: 在virtual box虚拟平台上部署Fuel Master节点: 在virtual box虚拟平台上部署计算节点Computer: ...
- OpenStack环境搭建(二:Fuel Master的安装及配置)
实验要求: 完成Virtual box平台安装,会应用相关操作: 在virtual box虚拟平台上部署Fuel Master节点: 在virtual box虚拟平台上部署计算节点Computer: ...
- OpenStack环境搭建(一:Virtual Box 5.1 环境的安装及配置)
实验要求: 完成Virtual box平台安装,会应用相关操作: 在virtual box虚拟平台上部署Fuel Master节点: 在virtual box虚拟平台上部署计算节点Computer: ...
- Mac安装虚拟机(parallels desk或者VmwareFusion)搭建Openstack服务器管理,安装开源的 pritunl 进行服务器连接
Mac安装虚拟机(parallels desk或者VmwareFusion)搭建Openstack服务器管理,安装pritunl–基于Open VPN 协议构建的服务器. 一.完全卸载parallel ...
- ubuntu20.04 部署原生态openstack Victoria版的详细步骤
1: 环境介绍 . controller 192.168.0.220 172.16.10.220 10.10.10.20 10.1.1.220 . compute1 192.168.0.221 172 ...
- OpenStack环境搭建(四:web控制端各节点的部署及配置)
实验要求: 完成Virtual box平台安装,会应用相关操作: 在virtual box虚拟平台上部署Fuel Master节点: 在virtual box虚拟平台上部署计算节点Computer: ...
最新文章
- Ubuntu系统---安NVIDIA 驱动后 CUDA+cuDNN 安装
- 致青春VS杜蕾斯,用QQ空间电影大数据解读关联性
- Vue.js学习系列(三十四)-- Vue.js样式绑定(五)
- codeforce 589B枚举
- 这个严重的无补丁 UPnP 漏洞影响几乎所有的IoT设备:绕过安全系统、扫描LANs
- cartographer探秘之文章索引
- 【Webcam设计】相机底层工作流程,编程模型
- win10快捷键及浏览器快捷键
- 物联网-米思齐-Mixly-RFID智能门禁
- three.js 05-04 之 BoxGeometry 几何体
- android简单计时器源码,Android计时器的三种实现方式(Chronometer、Timer、handler)...
- KGB知识图谱能够为公司分析上市影响因素
- java教程——电商秒杀系统介绍
- 英语口语六级模拟测试软件,2017英语六级口语考试试题及答案_英语六级口语试题及答案 doc完整版...
- Linux如何检测栈溢出,Linux环境下栈溢出实验(一) 改变程序流程
- 【Nanopi2试用体验】开箱+VNC等
- oracle 报错01427,Oracle ORA错误
- 换手机了,如何将微信聊天记录转移到其他手机上?
- php 美化js文件,js实现文件上传表单域美化特效_javascript技巧
- python 图标拖_托盘图标在Python中的应用,图标是gon
热门文章
- linux无法运行sssverify,Synopsys Design Compiler在fedora Core 9下面的安装
- 使用docker安装拼音分词器
- 新锐房地产销售管理系统(部分流程)技术解析(八) 销售管理_预定管理
- WMPF微信小程序框架 微信刷脸登录 获取openId 授权获取手机号 快速接入 快速集成
- 01 【nodejs简介】
- linux驱动:二、LED灯驱动编写
- 周杰伦江语晨恋情曝光 化名写情歌被揭穿
- 天津市雏鹰企业认定奖励及申报标准介绍,补贴5万
- linux 7 开启远程桌面,CentOS 7 安装使用 VNC 远程桌面
- Eclipse简介、安装及常用快捷键