OpenEuler的安装_openeuler5.1.0-249-CSDN博客
OpenStack云计算平台基础环境准备_openstack基础环境配置-CSDN博客
OpenStack组件:镜像服务(Glance)安装-CSDN博客
OpenStack组件:认证服务(Keystone)安装_认证服务(keystone)安装-CSDN博客
一、放置服务(Placement Service)的核心作用
OpenStack 放置服务(placement
)是 Nova 组件的核心依赖服务,主要用于管理计算资源的调度和分配,解决以下关键问题:
-
资源跟踪:记录计算节点(Compute Node)的 CPU、内存、磁盘、PCI 设备 等资源的使用情况和库存。
-
调度决策:为 Nova Scheduler 提供资源查询接口,帮助调度器根据资源过滤条件(如可用资源量、亲和 / 反亲和策略等)选择合适的计算节点。
-
多维度资源管理:支持对 自定义资源类型(如 GPU 数量、FPGA 设备等)进行建模和跟踪,满足异构计算场景需求。
二、项目实施
1、安装与配置Placement放置服务
1.1、安装Placement软件包
[root@controller ~]# yum install -y openstack-placement-api
//查看用户信息
[root@controller ~]# cat /etc/passwd | grep placement
//查看用户组信息
[root@controller ~]# cat /etc/group | grep placement
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 ServerCopyright (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 ServerCopyright (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 -ADatabase 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服务运行正常