OpenStack Ussuri版安装系列—5控制节点-Placement服务组件

262 阅读2分钟

这是我参与11月更文挑战的第7天,活动详情查看:2021最后一次更文挑战


OpenStack部署系列文章
OpenStack Victoria版 安装部署系列教程
OpenStack Ussuri版 离线安装部署系列教程(全)
OpenStack Train版 离线安装部署系列教程(全)
欢迎留言沟通,共同进步。

官方参考链接: OpenStack安装指南:服务组件
OpenStack Ussuri Installation Guides
Placement service
CSDN链接:
6 Openstack-Ussuri-Placement集群部署-centos8
5控制节点-Placement服务组件


@TOC


一、创建placement相关数据库、凭据与API端点

1.创建placement数据库并授权

使用mysql数据库的root账户登录,密码为控制节点环境准备时初始化mysql数据设置的密码为root。

mysql -u root -proot

创建placement数据库并授权

CREATE DATABASE placement;
GRANT ALL PRIVILEGES ON placement.* TO 'placement'@'localhost' IDENTIFIED BY 'placement';
GRANT ALL PRIVILEGES ON placement.* TO 'placement'@'%' IDENTIFIED BY 'placement';

flush privileges;
show databases;
select user,host from mysql.user;

exit

2.创建服务凭据

同样,创建并注册该项目的服务证书

域用户、项目、实体

cd 
source admin-openrc.sh

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

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

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

3.创建placement项目的endpoint(API端口)

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
openstack endpoint list

二、placement相关软件安装与配置

1.安装placement软件

yum install openstack-placement-api -y

2.配置文件修改

(1)/etc/placement/placement.conf
修改前先备份

cp /etc/placement/placement.conf /etc/placement/placement.conf.bak
vim /etc/placement/placement.conf

相应位置添加以下内容:

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

[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
echo "Result of Configuration"
grep '^[a-z]' /etc/placement/placement.conf

(2)nova的虚拟主机配置文件
/etc/httpd/conf.d/00-placement-api.conf
Ussrui 版本安装完成后会自动生成:/etc/httpd/conf.d/00-placement-api.conf文件
由于有个包的bug需要配置修改文件,需要修改nova虚拟主机配置文件,增加内容,完整的文件内容如下:

cp /etc/httpd/conf.d/00-placement-api.conf /etc/httpd/conf.d/00-placement-api.conf.bak
vim /etc/httpd/conf.d/00-placement-api.conf

#在#SSLCertificateKeyFile ...底下添加

#Placement API
<Directory /usr/bin>
   <IfVersion >= 2.4>
      Require all granted
   </IfVersion>
   <IfVersion < 2.4>
      Order allow,deny
      Allow from all
   </IfVersion>
</Directory>

3.同步placement数据库

(1)同步并初始化

su -s /bin/sh -c "placement-manage db sync" placement
#如有警告,再执行一遍
su -s /bin/sh -c "placement-manage db sync" placement

(2)同步完成进行连接测试
保证所有需要的表已经建立,否则后面可能无法进行下去

mysql -uplacement -pplacement -e "use placement;show tables;"

4.更多配置

【可选】

cd 
source admin-openrc.sh
#执行状态检查,都为success为正常
placement-status upgrade check

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

5.重启Apache服务(httpd)
如果重启失败,注意防火墙配置

systemctl restart httpd
systemctl status httpd 

三、placement服务安装完成。