1 您需要了解
- 本篇为手工搭建第
4
篇,进行OpenStack Placement
组件安装 - 操作系统版本
CentOS Stream 8
,最小化安装,可参考下方相关文章G003
完成系统安装,步骤一致 - 安装源您可访问 CentOS官网 / 阿里永久镜像站 / 华为永久镜像站 或其他镜像站进行下载
- 环境用到
2台
虚拟机,单网卡,并为其配置静态 IP
及DNS
,具体规划请参考第 2 章
环境规划 - 从
Ussuri
版本开始,需要使用CentOS 8
或RHEL 8
,截至发稿前
,Stream 8 版本支持的最高版本为yoga
- 文中用到的本地源文件,如有需要请站内私信获取,手工搭建流程参考官方安装指南
- 密码约定:本文所有和数据库及消息队列相关的密码统一设定
rootroot
,openstack 组件用户密码统一设定redhat
- 为有更好的浏览体验,您可以点击文章左上方
目录
按钮来显示文章整体目录结构
- 相关文章
- G003-OS-LIN-RHEL-01 红帽 8.4 安装
- G033-OP-COA-OPEN-04 CentOS Stream 8 通过 Packstack 安装开源 OpenStack(V版)
- G041-OP-COA-OPEN-05 CentOS Stream 8 手工搭建 OpenStack V 版(01基础环境设置)
- G042-OP-COA-OPEN-06 CentOS Stream 8 手工搭建 OpenStack V 版(02 Keystone)
- G043-OP-COA-OPEN-07 CentOS Stream 8 手工搭建 OpenStack V 版(03 Glance)
2 环境规划
计算节点必须开启虚拟化引擎 Intel VT-x
或 AMD-V
。虚拟机配置可根据实际情况进行调整。
主机名 | IP | 网关/DNS | CPU/内存 | 磁盘 | 角色 | 备注 |
---|---|---|---|---|---|---|
controller | 192.168.100.167 | 192.168.100.2 | 4c16g | 100g | 控制/网络 | / |
compute | 192.168.100.168 | 192.168.100.2 | 4c16g | 100g | 计算节点 | 必须开启虚拟化引擎 |
3 建库及授权(仅控制节点)
官方链接:https://docs.openstack.org/placement/victoria/install/install-rdo.html
[root@controller ~(admin)]$ mysql -uroot -prootroot
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 29
Server version: 10.3.28-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 'rootroot';Query OK, 0 rows affected (0.000 sec)
MariaDB [(none)]> GRANT ALL PRIVILEGES ON placement.* TO 'placement'@'%' IDENTIFIED BY 'rootroot';
Query OK, 0 rows affected (0.000 sec)
MariaDB [(none)]> exit
Bye
4 创建用户及关联角色(仅控制节点)
官方链接:https://docs.openstack.org/placement/victoria/install/install-rdo.html
[root@controller ~(admin)]$ source keystonerc_admin
[root@controller ~(admin)]$ openstack user create --domain default --password-prompt placement
User Password: *** 输入密码 redhat ***
Repeat User Password: *** 输入密码 redhat ***
+---------------------+----------------------------------+
| Field | Value |
+---------------------+----------------------------------+
| domain_id | default |
| enabled | True |
| id | dcc835a9394c4adfa654d18089963d4c |
| name | placement |
| options | {} |
| password_expires_at | None |
+---------------------+----------------------------------+
[root@controller ~(admin)]$ openstack role add --project service --user placement admin
[root@controller ~(admin)]$ openstack user list
+----------------------------------+-----------+
| ID | Name |
+----------------------------------+-----------+
| 03679f60d2da431080d0ecf9d095c99a | admin |
| ce938b103d8d4062a4aaf6820b21828e | myuser |
| 05b165e480ac401ab476c6f3670e77bf | glance |
| dcc835a9394c4adfa654d18089963d4c | placement |
+----------------------------------+-----------+
5 创建服务及注册API(仅控制节点)
官方链接:https://docs.openstack.org/placement/victoria/install/install-rdo.html
[root@controller ~(admin)]$ openstack service create --name placement --description "Placement API" placement
+--------------+---------------------------------+
| Field | Value |
+--------------+---------------------------------+
| description | Placement API |
| enabled | True |
| id | c0c83f723d454736a57b59b6ed6cca59 |
| name | placement |
| type | placement |
+-------------+----------------------------------+
[root@controller ~(admin)]$ openstack endpoint create --region RegionOne placement public http://controller:8778
+--------------+----------------------------------+
| Field | Value |
+--------------+----------------------------------+
| enabled | True |
| id | 96c0989c97b04d86beb59aa075d2d403 |
| interface | public |
| region | RegionOne |
| region_id | RegionOne |
| service_id | c0c83f723d454736a57b59b6ed6cca59 |
| service_name | placement |
| service_type | placement |
| url | http://controller:8778 |
+--------------+----------------------------------+
[root@controller ~(admin)]$ openstack endpoint create --region RegionOne placement internal http://controller:8778
+--------------+----------------------------------+
| Field | Value |
+--------------+----------------------------------+
| enabled | True |
| id | 9e4f7f90257441cc8ba6132e94fcee04 |
| interface | internal |
| region | RegionOne |
| region_id | RegionOne |
| service_id | c0c83f723d454736a57b59b6ed6cca59 |
| service_name | placement |
| service_type | placement |
| url | http://controller:8778 |
+--------------+----------------------------------+
[root@controller ~(admin)]$ openstack endpoint create --region RegionOne placement admin http://controller:8778
+--------------+----------------------------------+
| Field | Value |
+--------------+----------------------------------+
| enabled | True |
| id | 24527053adf04893b84f72e4054976e1 |
| interface | admin |
| region | RegionOne |
| region_id | RegionOne |
| service_id | c0c83f723d454736a57b59b6ed6cca59 |
| service_name | placement |
| service_type | placement |
| url | http://controller:8778 |
+--------------+----------------------------------+
[root@controller ~(admin)]$ openstack endpoint list
+----------------------------------+-----------+--------------+--------------+---------+-----------+----------------------------+
| ID | Region | Service Name | Service Type | Enabled | Interface | URL |
+----------------------------------+-----------+--------------+--------------+---------+-----------+----------------------------+
| 0c513a35ad7245c983c40acda80db882 | RegionOne | glance | image | True | admin | http://controller:9292 |
| 239e1ed04690449f9440d281aefca9f6 | RegionOne | glance | image | True | internal | http://controller:9292 |
| 24527053adf04893b84f72e4054976e1 | RegionOne | placement | placement | True | admin | http://controller:8778 |
| 672d0fd0435d4c6e8687a07763c1a36b | RegionOne | keystone | identity | True | public | http://controller:5000/v3/ |
| 84f4c26a119f4a96a421d5dbe7121bb2 | RegionOne | keystone | identity | True | admin | http://controller:5000/v3/ |
| 96c0989c97b04d86beb59aa075d2d403 | RegionOne | placement | placement | True | public | http://controller:8778 |
| 9cbcced7c9854cc58ac2d4a7fe4f0c52 | RegionOne | keystone | identity | True | internal | http://controller:5000/v3/ |
| 9e4f7f90257441cc8ba6132e94fcee04 | RegionOne | placement | placement | True | internal | http://controller:8778 |
| e027747203f8439f81b83647b8916488 | RegionOne | glance | image | True | public | http://controller:9292 |
+----------------------------------+-----------+--------------+--------------+---------+-----------+----------------------------+
6 安装包(仅控制节点)
官方链接:https://docs.openstack.org/placement/victoria/install/install-rdo.html
[root@controller ~(admin)]$ yum install openstack-placement-api -y
Last metadata expiration check: 0:31:18 ago on Mon 07 Aug 2023 02:34:53 PM CST.
Dependencies resolved.
==================================================================================================================
Package Architecture Version Repository Size
==================================================================================================================
Installing:
openstack-placement-api noarch 4.0.0-1.el8 centos-openstack-victoria 12 k
Installing dependencies:
openstack-placement-common noarch 4.0.0-1.el8 centos-openstack-victoria 25 k
python3-microversion-parse noarch 1.0.1-1.el8 centos-openstack-victoria 32 k
python3-os-resource-classes noarch 1.0.0-1.el8 centos-openstack-victoria 17 k
python3-os-traits noarch 2.4.0-2.el8 centos-openstack-victoria 43 k
python3-placement noarch 4.0.0-1.el8 centos-openstack-victoria 250 k
Transaction Summary
==================================================================================================================
Install 6 Packages
Total download size: 379 k
Installed size: 1.2 M
Downloading Packages:
(1/6): openstack-placement-api-4.0.0-1.el8.noarch.rpm 3.7 MB/s | 12 kB 00:00
(2/6): openstack-placement-common-4.0.0-1.el8.noarch.rpm 5.3 MB/s | 25 kB 00:00
(3/6): python3-microversion-parse-1.0.1-1.el8.noarch.rpm 5.4 MB/s | 32 kB 00:00
(4/6): python3-os-resource-classes-1.0.0-1.el8.noarch.rpm 4.7 MB/s | 17 kB 00:00
(5/6): python3-os-traits-2.4.0-2.el8.noarch.rpm 14 MB/s | 43 kB 00:00
(6/6): python3-placement-4.0.0-1.el8.noarch.rpm 55 MB/s | 250 kB 00:00
------------------------------------------------------------------------------------------------------------------
Total 29 MB/s | 379 kB 00:00
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
Preparing : 1/1
Installing : python3-os-traits-2.4.0-2.el8.noarch 1/6
Installing : python3-os-resource-classes-1.0.0-1.el8.noarch 2/6
Installing : python3-microversion-parse-1.0.1-1.el8.noarch 3/6
Installing : python3-placement-4.0.0-1.el8.noarch 4/6
Running scriptlet: openstack-placement-common-4.0.0-1.el8.noarch 5/6
Installing : openstack-placement-common-4.0.0-1.el8.noarch 5/6
Installing : openstack-placement-api-4.0.0-1.el8.noarch 6/6
Running scriptlet: openstack-placement-api-4.0.0-1.el8.noarch 6/6
Verifying : openstack-placement-api-4.0.0-1.el8.noarch 1/6
Verifying : openstack-placement-common-4.0.0-1.el8.noarch 2/6
Verifying : python3-microversion-parse-1.0.1-1.el8.noarch 3/6
Verifying : python3-os-resource-classes-1.0.0-1.el8.noarch 4/6
Verifying : python3-os-traits-2.4.0-2.el8.noarch 5/6
Verifying : python3-placement-4.0.0-1.el8.noarch 6/6
Installed:
openstack-placement-api-4.0.0-1.el8.noarch openstack-placement-common-4.0.0-1.el8.noarch
python3-microversion-parse-1.0.1-1.el8.noarch python3-os-resource-classes-1.0.0-1.el8.noarch
python3-os-traits-2.4.0-2.el8.noarch python3-placement-4.0.0-1.el8.noarch
Complete!
7 编辑配置文件(仅控制节点)
官方链接:https://docs.openstack.org/placement/victoria/install/install-rdo.html
[root@controller ~(admin)]$ vim /etc/placement/placement.conf
*** 找到对应标签并编辑以下内容 ***
[placement_database]
connection = mysql+pymysql://placement:rootroot@controller/placement
[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 = service
username = placement
password = redhat
8 初始化数据库(仅控制节点)
官方链接:https://docs.openstack.org/placement/victoria/install/install-rdo.html
[root@controller ~(admin)]$ su -s /bin/sh -c "placement-manage db sync" placement
[root@controller ~(admin)]$ mysql -uroot -prootroot
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 31
Server version: 10.3.28-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)
MariaDB [placement]> exit
Bye
9 重启服务并测试(仅控制节点)
官方链接:https://docs.openstack.org/placement/victoria/install/install-rdo.html
[root@controller ~(admin)]$ systemctl restart httpd
[root@controller ~(admin)]$ placement-status upgrade check
+----------------------------------+
| Upgrade Check Results |
+----------------------------------+
| Check: Missing Root Provider IDs |
| Result: Success |
| Details: None |
+----------------------------------+
| Check: Incomplete Consumers |
| Result: Success |
| Details: None |
+----------------------------------+
- END