天天看點

OpenStack Train(四):業務元件裝 placement安裝

标簽(空測試用例格分隔):OpenStack Train 系列

一:placement的安裝(控制節點)

1.1 placement的介紹

Placement 在 Openstack 中主要用于跟蹤和監控各種資源的使用情況,例如,在 Openstack 中包括計算資源、存儲資源、網絡等各種資源。Placement

用來跟蹤管理每種資源的目前使用情況。

Placement 服務在 Openstack 14.0.0 Newton 版本中被引入到 nova 庫,并在 19.0.0 Stein 版本中被獨立到 Placement 庫中,即在 stein 版被獨立成元件。

Placement 服務提供 REST API 堆棧和資料模型,用于跟蹤資源提供者不同類型的資源的庫存和使用情況。 資源提供者可以是計算資源、共享存儲池、
IP 池等。例如,建立一個執行個體時會消耗計算節點的 CPU、記憶體,會消耗存儲節點的存儲;同時還會消耗網絡節點的 IP 等等,所消耗資源的類型被跟蹤為
類。Placement 提供了一組标準資源類(例如 DISK_GB、MEMORY_MB 和 VCPU),并提供了根據需要定義自定義資源類的能力。

placement 服務托管在 httpd 上,修改配置需重新開機 httpd。
           

1.2 在控制節點(controller)安裝 Placement

1、登入資料庫建立 placement 資料庫
MariaDB [(none)]> CREATE DATABASE placement default character set utf8;
建立并授予 placement 使用者完全操作 placement 庫權限
MariaDB [(none)]> GRANT ALL PRIVILEGES ON placement.* TO 'placement'@'localhost' IDENTIFIED BY 'openstack';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON placement.* TO 'placement'@'%' IDENTIFIED BY 'openstack';
           
OpenStack Train(四):業務元件裝 placement安裝
2、建立使用者和 API 服務端點
# source /etc/keystone/admin-openrc.sh
# openstack user create --domain default --password-prompt placement
密碼設定為:openstack2022
将 placement 加入到 service 項目以及 admin 角色
# openstack role add --project service --user placement admin
建立服務實體
# openstack service create --name placement --description "Placement API" placement
建立 Placement API 服務端點
# openstack endpoint create --region RegionOne placement public http://controller:8778
# openstack endpoint create --region RegionOne placement internal http://controller:8778
# openstack endpoint create --region RegionOne placement admin http://controller:8778



           
OpenStack Train(四):業務元件裝 placement安裝
OpenStack Train(四):業務元件裝 placement安裝
OpenStack Train(四):業務元件裝 placement安裝
3、安裝配置 Placement
# yum -y install openstack-placement-api
注:https://docs.openstack.org/api-ref/placement/?expanded=
修改配置檔案 /etc/placement/placement.conf
# cd /etc/placement/ && mv placement.conf placement.conf.source && cat placement.conf.source |grep -Ev "^#|^$" > placement.conf && chown root:placement placement.conf

# vi /etc/placement/placement.conf
在[placement_database]部分,配置資料庫通路

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

在[api]和[keystone_authtoken]部分,配置身份認證服務。

[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 = openstack2022
           
OpenStack Train(四):業務元件裝 placement安裝
OpenStack Train(四):業務元件裝 placement安裝
OpenStack Train(四):業務元件裝 placement安裝
修改配置檔案/etc/httpd/conf.d/00-placement-api.conf
# vi /etc/httpd/conf.d/00-placement-api.conf
在 ErrorLog /var/log/placement/placement-api.log 下面添加:
<Directory /usr/bin>
<IfVersion >= 2.4>
Require all granted
</IfVersion>
<IfVersion < 2.4>
Order allow,deny
Allow from all
</IfVersion>
</Directory>


           
4、同步 placement 資料庫
# su -s /bin/sh -c "placement-manage db sync" placement
/*
說明:忽略同步資料時報的 Warning
*/
5、重新開機 httpd 服務并驗證 Placement
# systemctl restart httpd
# chkconfig httpd on 
執行 placement-status 指令檢查狀态
# placement-status upgrade check
           
安裝 pip(如果無外網則跳過該設定,使用離線安裝)
yum install -y epel-release
yum install -y python-pip
rm -rf /etc/yum.repos.d/epel.repo /etc/yum.repos.d/epel-testing.repo
配置國内 pip 源
cat > /etc/pip.conf <<EOF
[global]
index-url = https://pypi.douban.com/simple/
[install]
trusted-host = https://pypi.douban.com
EOF

安裝 osc-placement 插件

# pip install osc-placement==2.2.0


離線安裝
在 yum01 主機上通過 pip download osc-placement==2.2.0 下載下傳離線包放入/var/www/html/yumrepos/pip 目錄下
# yum install -y python-pip
# wget http://yum01/yumrepos/pip/osc-placement-2.2.0.tar.gz
# pip install osc-placement-2.2.0.tar.gz
列出可用的資源類和特征。
# openstack --os-placement-api-version 1.2 resource class list --sort-column name
# openstack --os-placement-api-version 1.6 trait list --sort-column name



           

繼續閱讀