Placement提供了placement-apiWSGI脚本,用于与Apache,nginx或其他支持WSGI的Web服务器一起运行服务(通过nginx或apache实现python入口代理)。根据用于部署OpenStack的打包解决方案,WSGI脚本可能位于/usr/bin 或中/usr/local/bin。
Placement服务是从 S 版本,从nova服务中拆分出来的组件,作用是收集各个node节点的可用资源,把node节点的资源统计写入到mysql,Placement服务会被nova scheduler服务进行调用
Placement服务的监听端口是8778
https://docs.openstack.org/placement/train/install/install-rdo.html #安装文档
https://docs.openstack.org/nova/rocky/install/controller-install-rdo.html #apache的bug参考文档
1、source admin-openrc.sh
2、openstack user create --domain default --password-prompt placement
#创建placement账号,创建在default域中
3、openstack role add --project service --user placement admin
#placement用户针对service项目拥有admin权限
4、openstack service create --name placement --description "Placement API" placement
#创建一个placement服务,服务类型为placement
5、openstack endpoint create --region RegionOne placement public http://openstack-vip.linux.local:8778
openstack endpoint create --region RegionOne placement internal http://openstack-vip.linux.local:8778
openstack endpoint create --region RegionOne placement admin http://openstack-vip.linux.local:8778
#注册API端口到placement的service中;注册的信息会写入到mysql中
6、openstack endpoint list #查看endpoint是否注册
7、yum install openstack-placement-api -y #安装placement服务
8、vim /etc/placement/placement.conf
[placement_database] #配置数据库连接
connection = mysql+pymysql://placement:placement123@openstack-vip.linux.local/placement
[api]
auth_strategy = keystone #指定api使用keystone进行认证
[keystone_authtoken] #配置连接keystone的认证信息
auth_url = http://openstack-vip.linux.local:5000/v3 #指定keystone地址
memcached_servers = openstack-vip.linux.local:11211 #session信息是缓存放到了memcached中
auth_type = password
project_domain_name = Default
user_domain_name = Default
project_name = service
username = placement
password = placement
9、su -s /bin/sh -c "placement-manage db sync" placement #初始化placement数据库
10、vim /etc/httpd/conf.d/00-placement-api.conf #安装完placement会自动创建此文件
<Directory /usr/bin> #此处是bug,必须添加下面的配置来启用对placement api的访问,否则在访问apache的
<IfVersion >= 2.4> api时会报403;添加在文件的最后即可
Require all granted
</IfVersion>
<IfVersion < 2.4> #apache版本;允许apache访问/usr/bin目录;否则/usr/bin/placement-api将
Order allow,deny 不允许被访问
Allow from all #允许apache访问
</IfVersion>
</Directory>
11、systemctl restart httpd
12、curl openstack-vip.linux.local:8778 #测试
###验证测试
1、placement-status upgrade check #查看placement状态
https://docs.openstack.org/placement/train/install/verify.html #验证
1、CREATE DATABASE placement;
2、GRANT ALL PRIVILEGES ON placement.* TO ‘placement‘@‘%‘ IDENTIFIED BY ‘placement123‘;
1、vim /etc/haproxy/haproxy.cfg
listen openstack-placement-8778
mode tcp
bind 172.31.7.248:8778
server 172.31.7.101 172.31.7.101:8778 check inter 3s fall 3 rise 5
2、systemctl restart haproxy.service
原文:https://www.cnblogs.com/dongzhanyi123/p/13299853.html