OpenStack部署4.0——定位服务(Placement)

先放个链接,万一有人关注呢

优质文章推荐

↓ ↓ ↓ ↓ 

OpenStack部署2.0——身份服务(Keystone)部署

ESXi虚拟化系统创建与应用

Linux网卡配置文件详解



书接上回:OpenStack部署3.0——镜像服务(Glance)

概述
Placement服务从OpenStack Newton版本开始加入,它提供了集群资源管理和追踪的功能。主要作用有:
1、资源供应和分配:Placement收集计算节点、存储节点的资源信息,如CPU、内存、磁盘等,并可以根据需求进行资源分配。
2、调度约束管理:可以在Placement定义调度约束策略,如请求的vCPU和内存数量,以便计算节点筛选。
3、资源提供商管理:可以注册不同的资源提供商,如计算资源提供商、存储资源提供商等。
4、收集资源使用量:Placement可以收集每个实例的资源使用状况。
5、基础设施优化:通过分析资源使用情况,可以优化和改进基础设施配置。
6、实现弹性伸缩:Placement中的资源信息可以帮助自动伸缩层判断扩容或缩容需求。
Placement使用了HTTP REST API与其他OpenStack服务进行交互。 nova-scheduler查询Placement以进行最优的调度策略;nova-compute节点定期上报本节点的资源使用数据。
总体来说,Placement服务让OpenStack有了一个集中式的资源管理功能,提高了资源调度和使用效率,帮助构建弹性伸缩的云基础设施。它是OpenStack资源管理的重要组成部分。

创建数据库

进入控制节点的数据库中

 mysql -uroot -p123

创建定位服务的数据库

create database placement;

授权数据库

grant all privileges on placement.* to 'placement'@'localhost' identified by '123';grant all privileges on placement.* to 'placement'@'%' identified by '123';

退出数据库

创建服务凭证

获得admin凭证用于获取管理员权限

source admin-openrc

创建定位服务用户

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

输出两次密码,创建成功。输出如下

User Password:Repeat User Password:+---------------------+----------------------------------+| Field               | Value                            |+---------------------+----------------------------------+| domain_id           | default                          || enabled             | True                             || id                  | 29f1c305391447abae0a87363ff578ff || name                | placement                        || options             | {}                               || password_expires_at | None                             |+---------------------+----------------------------------+

将Placement用户添加到Service项目中

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

在服务目录中创建定位服务API

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

输出如下

+-------------+----------------------------------+| Field       | Value                            |+-------------+----------------------------------+| description | Placement API                    || enabled     | True                             || id          | 27d4a5d02fdc4b7da97cbe44e272562c || name        | placement                        || type        | placement                         |+-------------+----------------------------------+
创建定位服务API端点public
openstack endpoint create --region RegionOne placement public http://controller:8778

输出如下

+--------------+----------------------------------+| Field        | Value                            |+--------------+----------------------------------+| enabled      | True                             || id           | 0f7cbdc1460846b2ad5f6d09bb736c84 || interface    | public                           || region       | RegionOne                        || region_id    | RegionOne                        || service_id   | 27d4a5d02fdc4b7da97cbe44e272562c || service_name | placement                        || service_type | placement                         || url          | http://controller:8778           |+--------------+----------------------------------+
创建定位服务API端点internal
openstack endpoint create --region RegionOne placement internal http://controller:8778

输出如下

+--------------+----------------------------------+| Field        | Value                            |+--------------+----------------------------------+| enabled      | True                             || id           | 2196184dfb5f41228aede94273abcd8b || interface    | internal                         || region       | RegionOne                        || region_id    | RegionOne                        || service_id   | 27d4a5d02fdc4b7da97cbe44e272562c || service_name | placement                        || service_type | placement                         || url          | http://controller:8778           |+--------------+----------------------------------+
创建定位服务API端点admin

openstack endpoint create --region RegionOne placement admin http://controller:8778

输出如下

+--------------+----------------------------------+| Field        | Value                            |+--------------+----------------------------------+| enabled      | True                             || id           | b788e73c64ce40b3a0c8262b3f69f7d3 || interface    | admin                            || region       | RegionOne                        || region_id    | RegionOne                        || service_id   | 27d4a5d02fdc4b7da97cbe44e272562c || service_name | placement                        || service_type | placement                        || url          | http://controller:8778           |+--------------+----------------------------------+

安装与配置定位服务

安装定位服务软件包

yum install openstack-placement-api -y

编辑/etc/placement/placement.conf文件

 vi /etc/placement/placement.conf

配置数据库访问

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

在api和keystone_authtoken模块,配置身份认证服务访问

[api]# ...auth_strategy = keystone
[keystone_authtoken]# ...auth_url = http://controller:5000/v3memcached_servers = controller:11211auth_type = passwordproject_domain_name = Defaultuser_domain_name = Defaultproject_name = serviceusername = placementpassword = 123

将镜像信息同步到数据库

su -s /bin/sh -c "placement-manage db sync" placement

启动服务

systemctl restart httpd

验证操作

获取管理员权限

source admin-openrc

执行状态检查

placement-status upgrade check

输出如下

+----------------------------------+| Upgrade Check Results            |+----------------------------------+| Check: Missing Root Provider IDs || Result: Success                  || Details: None                    |+----------------------------------+| Check: Incomplete Consumers      || Result: Success                  || Details: None                    |+----------------------------------+

下面针对API执行一些命令,在此之前需要先安装osc-placement插件,没有安装的可以参考关于OpenStack的osc-placement插件的报错排查

重新启动Apache

systemctl restart httpd

列出可用资源类与特征

$ openstack --os-placement-api-version 1.2 resource class list --sort-column name+----------------------------+| name                       |+----------------------------+| DISK_GB                    || IPV4_ADDRESS               || ...                        |
$ openstack --os-placement-api-version 1.6 trait list --sort-column name+---------------------------------------+| name |+---------------------------------------+| COMPUTE_DEVICE_TAGGING || COMPUTE_NET_ATTACH_INTERFACE || ... |

未完待续。。。。

来不及解释了,快上车!(进群看公告)

欢迎新的小伙伴加入!在这里,我们鼓励大家积极参与群内讨论和交流,分享自己的见解和经验,一起学习和成长。同时,也欢迎大家提出问题和建议,让我们不断改进和完善这个平台。

               点个在看,你最好看!

请使用浏览器的分享功能分享到微信等