【OpenStack(Train版)安装部署(四)】之Placement服务环境部署

本文章由公号【开发小鸽】发布!欢迎关注!!!


老规矩–妹妹镇楼:

一.Placement服务安装

(一)介绍

       在安装Nova模块之前,需先安装Placement组件,Placement在openstack的Stein版本之前,属于Nova组件的一部分。该组件需要在Nova之前安装。

       Placement服务跟踪资源(比如计算节点,存储资源池,网络资源池等)的使用情况,提供自定义资源的能力,为分配资源提供服务。

       Placement在openstack的Stein版本之前,属于Nova组件的一部分。该组件应该在Nova之前安装。

       Placement API作为一个标准的WSGI脚本,为WSGI服务器提供了模块级的应用程序属性。

(二)placement服务组件

       1、Placement提供了placement-api WSGI脚本,用于与Apache,nginx或其他支持WSGI的Web服务器一起运行服务(通过nginx或apache实现python入口代理)。根据用于部署OpenStack的打包解决方案,WSGI脚本可能位于/usr/bin 或/usr/local/bin中

       2、Placement服务是从 S 版本,从nova服务中拆分出来的组件,作用是收集各个node节点的可用资源,把node节点的资源统计写入到mysql,Placement服务会被nova scheduler服务进行调用 Placement服务的监听端口是8778

       3、需修改的配置文件:

       (1)placement.conf

主要修改思路:
       Keystone认证相关(url、HOST:PORT、域、账号密码等)

       对接数据库(位置)

       (2) 00-placement-api.conf
主要修改思路:

       Apache权限、访问控制

(三)Placement服务部署

1.创建Placement的数据库
[root@controller ~]# mysql -uroot -p 
MariaDB [(none)]> CREATE DATABASE placement; 

       授予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; 

2.创建placement用户
[root@controller ~]# openstack user create --domain default --password PLACEMENT_PASS placement

       添加placement用户为admin角色,service项目

[root@controller ~]# openstack role add --project service --user placement admin

3.创建一个placement服务,服务类型为placement
[root@controller ~]# openstack service create --name placement --description "Placement API" placement

4、注册Placement服务API访问端口

       注册三个API到placement的service中;注册的信息会写入到mysql中

[root@controller ~]# openstack endpoint create --region RegionOne placement public http://192.168.112.146:8778

[root@controller ~]# openstack endpoint create --region RegionOne placement internal http://192.168.112.146:8778

[root@controller ~]# openstack endpoint create --region RegionOne placement admin http://192.168.112.146:8778

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

6. 修改配置文件

       精简配置文件,删除注释内容

[root@controller ~]# cp /etc/placement/placement.conf /etc/placement/placement.conf.bak 
[root@controller ~]# grep -Ev '^$|#' /etc/placement/placement.conf.bak > /etc/placement/placement.conf

       修改placement数据库连接地址

openstack-config --set /etc/placement/placement.conf placement_database connection mysql+pymysql://placement:PLACEMENT_DBPASS@192.168.112.146/placement

       修改placement的认证策略为keystone

openstack-config --set /etc/placement/placement.conf api auth_strategy keystone

       修改placement的认证地址

openstack-config --set /etc/placement/placement.conf keystone_authtoken auth_url  http://192.168.112.146:5000/v3

       修改memcached服务器的地址

openstack-config --set /etc/placement/placement.conf keystone_authtoken memcached_servers 192.168.112.146:11211

       修改认证方式为password

openstack-config --set /etc/placement/placement.conf keystone_authtoken auth_type password

       修改项目domain名称为Default

openstack-config --set /etc/placement/placement.conf keystone_authtoken project_domain_name Default

       修改用户的domain名称为Default

openstack-config --set /etc/placement/placement.conf keystone_authtoken user_domain_name Default

       修改项目名称为service

openstack-config --set /etc/placement/placement.conf keystone_authtoken project_name service

       修改用户名为placement

openstack-config --set /etc/placement/placement.conf keystone_authtoken username placement

       修改认证密码为PLACEMENT_PASS

openstack-config --set /etc/placement/placement.conf keystone_authtoken password PLACEMENT_PASS

       查看当前的placement.conf配置文件:
在这里插入图片描述

7.初始化placement数据库
[root@controller ~]# su -s /bin/sh -c "placement-manage db sync" placement

检查数据库初始情况:

在这里插入图片描述

8.修改Apache配置文件 00-placemenct-api.conf

       安装完placement服务后会自动创建该文件-虚拟主机配置 , 修改placement的apache配置文件(官方文档坑点之一,这个步骤官方文档没有提到,如果不做,后面计算服务检查时将会报错)

       此处是bug,必须添加下面的配置来启用对placement api的访问,否则在访问apache的api时会报403;添加在文件的最后即可

[root@controller ~]# vim /etc/httpd/conf.d/00-placement-api.conf

在该文件的末尾添加:

<Directory /usr/bin>		
<IfVersion >= 2.4>		   
  Require all granted
</IfVersion>
<IfVersion < 2.4>		    #apache版本;允许apache访问/usr/bin目录;否则/usr/bin/placement-api将不允许被访问
  Order allow,deny				
  Allow from all			#允许apache访问
</IfVersion>
</Directory>

       注意是在VirtualHost选项内,如下所示,而不是在末尾:
在这里插入图片描述

9.重启apache服务
[root@controller ~]# systemctl restart httpd

       httpd服务重启情况正常。

       再检查服务是否启动成功,使用netstat -tnlup查看端口情况,如果存在8778的端口,表示placement服务启动成功。
在这里插入图片描述

10.检查placement状态

       进一步检查,使用命令:

curl http://192.168.112.146:8778

       直接访问placement的API地址,看是否能返回json。

[root@controller ~]# curl http://controller:8778

       或者http://192.168.112.146:8778 都可以返回json:
在这里插入图片描述

       检查placement状态

[root@ct placement]# placement-status upgrade check

在这里插入图片描述

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值