OpenStack组件:放置服务(Placement)安装

OpenEuler的安装_openeuler5.1.0-249-CSDN博客

OpenStack云计算平台基础环境准备_openstack基础环境配置-CSDN博客

OpenStack组件:镜像服务(Glance)安装-CSDN博客

OpenStack组件:认证服务(Keystone)安装_认证服务(keystone)安装-CSDN博客

一、放置服务(Placement Service)的核心作用

OpenStack 放置服务(placement)是 Nova 组件的核心依赖服务,主要用于管理计算资源的调度和分配,解决以下关键问题:

  1. 资源跟踪:记录计算节点(Compute Node)的 CPU、内存、磁盘、PCI 设备 等资源的使用情况和库存。

  2. 调度决策:为 Nova Scheduler 提供资源查询接口,帮助调度器根据资源过滤条件(如可用资源量、亲和 / 反亲和策略等)选择合适的计算节点。

  3. 多维度资源管理:支持对 自定义资源类型(如 GPU 数量、FPGA 设备等)进行建模和跟踪,满足异构计算场景需求。

二、项目实施

1、安装与配置Placement放置服务

1.1、安装Placement软件包

root@controller \~\]# yum install -y openstack-placement-api ![](https://i-blog.csdnimg.cn/direct/8df22a2eab4f493c84b4a09476f17daf.png) //查看用户信息 \[root@controller \~\]# cat /etc/passwd \| grep placement //查看用户组信息 \[root@controller \~\]# cat /etc/group \| grep placement ![](https://i-blog.csdnimg.cn/direct/862463a77c6b485db2bee0ad28699872.png)

1.2、创建Placement的数据库并授权

复制代码
[root@controller ~]# mysql -uroot -p000000   //进入数据库
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 4
Server version: 10.5.25-MariaDB MariaDB Server

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> CREATE DATABASE placement;  //创建数据库
Query OK, 1 row affected (0.000 sec)

MariaDB [(none)]> GRANT ALL PRIVILEGES ON placement.* TO 'placement'@'localhost' IDENTIFIED BY '000000';   //远程管理授权
Query OK, 0 rows affected (0.005 sec)

MariaDB [(none)]> GRANT ALL PRIVILEGES ON placement.* TO 'placement'@'%' IDENTIFIED BY '000000';
Query OK, 0 rows affected (0.001 sec)

MariaDB [(none)]> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.000 sec)

MariaDB [(none)]> EXIT;//退出
Bye

1.3、修改Placement配置文件

复制代码
[root@controller ~]# cp /etc/placement/placement.conf /etc/placement/placement.bak

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

[root@controller ~]# cat /etc/placement/placement.conf
[DEFAULT]
[api]
[cors]
[keystone_authtoken]
[oslo_policy]
[placement]
[placement_database]
[profiler]

[root@controller ~]# vim /etc/placement/placement.conf(编辑添加下面的内容)

[DEFAULT]
[api]
auth_strategy = keystone

[cors]
[keystone_authtoken]
auth_url = http://controller:5000
memcached_servers = controller:11211
auth_type = password
project_domain_name = Default
user_domain_name = Default
project_name = project
username = placement
password = 000000

[oslo_policy]
[placement]

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

[profiler]

1.4、初始化Placement的数据库

复制代码
//同步数据库
[root@controller ~]# su -s /bin/sh -c "placement-manage db sync" placement

/usr/lib/python3.9/site-packages/pymysql/cursors.py:170: Warning: (1280, "Name 'alembic_version_pkc' ignored for PRIMARY key.")
  result = self._query(query)

//进入收据库验证同步是否成功
[root@controller ~]# mysql -uroot -p000000
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 7
Server version: 10.5.25-MariaDB MariaDB Server

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> use placement;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
MariaDB [placement]> show tables;
+------------------------------+
| Tables_in_placement          |
+------------------------------+
| alembic_version              |
| allocations                  |
| consumers                    |
| inventories                  |
| placement_aggregates         |
| projects                     |
| resource_classes             |
| resource_provider_aggregates |
| resource_provider_traits     |
| resource_providers           |
| traits                       |
| users                        |
+------------------------------+
12 rows in set (0.000 sec)

2、Placement组件初始化

2.1 、创建Placement用户并分配角色

复制代码
[root@controller ~]# source admin-login   //导入环境变量,模拟登录

//在openstack云计算平台中创建用户placement
[root@controller ~]# openstack user create --domain default --password 000000 placement
+---------------------+----------------------------------+
| Field               | Value                            |
+---------------------+----------------------------------+
| domain_id           | default                          |
| enabled             | True                             |
| id                  | 323ce14e683a490f8ee53d2b15a876b0 |
| name                | placement                        |
| options             | {}                               |
| password_expires_at | None                             |
+---------------------+----------------------------------+

//为用户分配admin角色
[root@controller ~]# openstack role add --project project --user placement admin

2.2、创建Placement服务及服务端点

复制代码
//创建一个名字和类型都是placement的服务
[root@controller ~]# openstack service create --name placement placement

//创建服务端点
[root@controller ~]# openstack endpoint create --region RegionOne placement public http://controller:8778

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

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

2.3、启动Placement服务

root@controller \~\]# systemctl restart httpd //重启使之配置文件生效

3、检测Placement服务

3.1、查看端口情况

root@controller \~\]# netstat -tnlup\|grep 8778

3.2、检验服务端点

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

出现以下信息,表示placement服务运行正常

相关推荐
哈里谢顿2 天前
OpenStack 中的 nova-conductor 与 ironic-conductor 及其分布式锁机制详解
openstack
哈里谢顿6 天前
OpenStack oslo-config 详解
openstack
感哥11 天前
OpenStack Cinder 创建卷
openstack
感哥11 天前
OpenStack Cinder 架构
openstack
感哥11 天前
OpenStack Nova Scheduler 计算节点选择机制
openstack
感哥14 天前
OpenStack Nova 创建虚拟机
openstack
感哥14 天前
OpenStack Glance(镜像)
openstack
感哥14 天前
OpenStack Keystone详解
openstack
安全菜鸟24 天前
传统方式部署OpenStack具体教程
openstack
哈里谢顿2 个月前
Ironic 中 Clean/deploy Step 延迟执行的原因分析
openstack