目录:
0 实验环境
1 概述
2 安装和配置
2.1 先决条件
2.2 安装和配置
2.3 配置服务
3 验证
0 实验环境
openstack版本:train
实验平台:vmware workstation 15.1
实验虚拟机:centos 7.6,2核,4G内存
操作节点:控制节点
本文涉及的帐号密码:
mysql数据库管理员:root:samplepass
placement数据库用户:placement:dbpass
placement服务用户:placement:ppass
1 概述
Placement服务跟踪资源(比如计算节点,存储资源池,网络资源池等)的使用情况,提供自定义资源的能力,为分配资源提供服务。
Placement在openstack的Stein版本之前,属于Nova组件的一部分。该组件应该在Nova之前安装。
Placement API作为一个标准的WSGI脚本,为WSGI服务器提供了模块级的应用程序属性。支持部署在多种服务器上,如:
这种情况下,Placement的地址、端口和安装路径(或前缀)由web服务器的配置控制,而不是placement.conf文件。
Placement API服务使用http的80端口,和/placement的路径来访问。
2 安装和配置
2.1 先决条件
a)创建数据库
# mysql -u root -p //连接mysql数据库 MariaDB [(none)]> CREATE DATABASE placement; //新建placement数据库 MariaDB [(none)]> GRANT ALL PRIVILEGES ON placement.* TO 'placement'@'localhost' IDENTIFIED BY 'dbpass'; //为用户placement本地登录授权,并设置密码为dbpass MariaDB [(none)]> GRANT ALL PRIVILEGES ON placement.* TO 'placement'@'%' IDENTIFIED BY 'dbpass'; //为用户placement远程登录授权,并设置密码为dbpass MariaDB [(none)]> quit; //退出
b)身份验证参数
# . admin-openrc //引用admin的身份参数 # openstack user create --domain default --password-prompt placement //创建用户placement并设置密码
# openstack role add --project g_service --user placement admin //为g_service组的placement用户分配admin角色
c)服务配置
# openstack service create --name placement --description "Placement API" placement //为openstack添加placement服务
# openstack endpoint create --region RegionOne placement public http://controller:8778 //创建公共接口的端点,端口不同的操作系统不一样,8780和80也有可能 # openstack endpoint create --region RegionOne placement internal http://controller:8778 //创建内部接口的端点 # openstack endpoint create --region RegionOne placement admin http://controller:8778 //创建管理接口的端点
2.2 安装和配置
a)安装软件包
# yum install openstack-placement-api
b)编辑配置文件/etc/placement/placement.conf:
在[placement_database]节点,配置数据库连接字符串:
[placement_database] # ... connection = mysql+pymysql://placement:dbpass@controller/placement
在[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 = g_service username = placement password = ppass
c)初始化数据库:
# su -s /bin/sh -c "placement-manage db sync" placement
2.3 服务配置
# systemctl restart httpd //重启httpd服务
3 验证
a)使用admin环境变量:
# . admin-openrc
b)检查服务状态:
# placement-status upgrade check