OpenStack Train版双节点安装(五)安装放置服务placement
更新:HHH   时间:2023-1-7


第五部分 安装放置服务placement


在OpenStack Stein版本发布之前,放置服务placement与计算服务API(nova-api)一起位于计算服务nova中。


控制节点按如下操作安装placement放置服务

创建数据库
mysql -uroot -p
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';
MariaDB [(none)]> exit

创建placement用户
. admin-openrc
openstack user create --domain default --password PLACEMENT_PASS placement
openstack role add --project service --user placement admin

创建placement服务实体
openstack service create --name placement --description "Placement API" placement

创建placement服务访问端点
openstack endpoint create --region RegionOne placement public http://ct:8778
openstack endpoint create --region RegionOne placement internal http://ct:8778
openstack endpoint create --region RegionOne placement admin http://ct:8778

安装placement软件包
yum install openstack-placement-api -y

修改配置文件
cp /etc/placement/placement.conf /etc/placement/placement.conf.bak
grep -Ev '^$|#' /etc/placement/placement.conf.bak > /etc/placement/placement.conf
vim /etc/placement/placement.conf

加入:
[api]
auth_strategy = keystone
[keystone_authtoken]
auth_url = http://ct:5000/v3
memcached_servers = ct:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = placement
password = PLACEMENT_PASS
[placement_database]
connection = mysql+pymysql://placement:PLACEMENT_DBPASS@ct/placement

填充placement数据库
su -s /bin/sh -c "placement-manage db sync" placement

修改placement的apache配置文件(官方文档坑点之一,这个步骤官方文档没有提到,如果不做,后面计算服务检查时将会报错)
vim /etc/httpd/conf.d/00-placement-api.conf
在VirtualHost中加入
#SSLCertificateKeyFile …
<Directory /usr/bin>
<IfVersion >= 2.4>
Require all granted
</IfVersion>
<IfVersion < 2.4>
Order allow,deny
Allow from all
</IfVersion>
</Directory>

重启apache服务
systemctl restart httpd

检查服务是否启动成功,使用netstat -tnlup查看端口情况,如果存在8778的端口,表示placement服务启动成功。

进一步检查,使用命令:curl http://ct:8778,直接访问placement的API地址,看是否能返回json。

最后,使用下面的命令检查,看能否返回如下图中的列表

placement-status upgrade check


返回云计算教程...