Placement服务是从nova服务中拆分出来的组件,Placement组件应该在 Nova之前安装;
Placement服务用于跟踪节点资源(比如计算节点,存储资源池,网络资源池等)的使用情况,提供自定义资源的能力,为分配资源提供服务。
为生成的云主机进行资源分配;
Placement数据库配置
controller节点
在安装和配置
placement
服务之前,必须创建服务对应的数据库用于存储相关数据然后授权placement
用户本地访问和远程访问两种访问权限
;
和部署Glance的步骤类似
mysql -u root -p123456
#创建库
CREATE DATABASE placement;
#授权用户本地登录并设置密码(密码设置:123)
GRANT ALL PRIVILEGES ON placement.* TO 'placement'@'localhost' IDENTIFIED BY '123';
#授权用户远程登录并设置密码(密码设置:123)
GRANT ALL PRIVILEGES ON placement.* TO 'placement'@'%' IDENTIFIED BY '123';
创建认证账号
为
placement
创建用户、授权、创建
placement
服务、创建
url
访问地址, 其目的是让keystone
可以识别placement
身份切换到admin
用户,创建
placement
用户(密码:
123
)
source admin-openrc
openstack user create --domain default --password-prompt placement
查看用户列表
openstack user list
将placement用户添加到service项目中拥有admin权限
openstack role add --project service --user placement admin
创建一个service服务(供其他服务访问)名称为placement,类型为placement
openstack service create --name placement --description "Placement API" placement
创建placement服务API端点(和glacne类似)
admin:管理员访问的API端点
internal:内部服务访问的API端点
public: 可以被所有项目访问的API端点
#创建public端点
openstack endpoint create --region RegionOne placement public http://controller:8778
#创建internal端点
openstack endpoint create --region RegionOne placement internal http://controller:8778
#创建admin端点
openstack endpoint create --region RegionOne placement admin http://controller:8778
Placement服务安装和配置
安装
glance
软件包
yum -y install openstack-placement-api
修改
placement的配置
文件,对接
mysql
,对接
keystone;
#查看文件属性
ll /etc/placement/placement.conf
-rw-r----- 1 root placement /etc/placement/placement.conf
#提前备份配置文件
cp /etc/placement/placement.conf{,.bak}
#重新生成配置文件
egrep -v '^#|^$' /etc/placement/placement.conf.bak >
/etc/placement/placement.conf
#查看文件属性
ll /etc/placement/placement.conf
-rw-r----- 1 root placement /etc/placement/placement.conf
#修改文件内容
vim /etc/placement/placement.conf
#访问placement数据库使用的用户及密码:123
[placement_database]
connection =
mysql+pymysql://placement:123@controller/placement
#认证类型为keyston
[api]
auth_strategy = keystone
#配置keystone认证信息
[keystone_authtoken]
#指定keystone的api,到此url去认证
auth_url = http://controller:5000/v3
#指定memcache的地址
memcached_servers = controller:11211
#指定身份验证方式为password密码验证方式
auth_type = password
#指定项目所在的域Default
project_domain_name = Default
#指定用户所在的域Default
user_domain_name = Default
#指定项目名称service
project_name = service
#指定认证用户是placement
username = placement
#指定用户的密码123
password = 123
初始化placement数据库,生成相关表结构(警告信息,可忽略)
su -s /bin/sh -c "placement-manage db sync" placement
查看数据库表结构
mysql -uplacement -p123
show databases;
use placement;
show tables;
修改Apache配置文件
vim /etc/httpd/conf.d/00-placement-api.conf
#末行添加如下内容
<Directory /usr/bin>
<IfVersion >= 2.4>
Require all granted
</IfVersion>
<IfVersion < 2.4>
Order allow,deny
Allow from all
</IfVersion>
</Directory>
重启httpd服务
systemctl restart httpd
查看端口
netstat -ntlp | grep 8778
切换
admin
身份进行验证
source admin-openrc
执行状态检查命令
placement-status upgrade check