구축/Openstack

openstack 구축 4 placement

KidAnt 2023. 12. 28. 17:35


  • placement는 openstack에서 사용되는 리소스를 할당하고 배치하는데 사용되는 서비스다
  • keystone 보다는 설정할게 많지만 다른 서비스들보다 설정할게 적으니 잘 따라오면 오타없이 성공적으로 설치할 수 있을 것이다.
  • 원래 공식 메뉴얼에서 보안PW를 설정할때 PLACEMENT_PASS와 PLACEMENT_DBPASS를 따로두지만 실제로 따로 설정했더니 keystone 연결시 인증서에 문제가 생겨서 PLACEMENT_PASS로 통일시켜 같은 PW를 사용했다.

DB, 서비스 사용자 등록 및 API 엔드포인트 생성

sudo su root
#루트 접속

#DB생
mysql
#mariadb 접속

MariaDB [(none)]> CREATE DATABASE placement;
#DB생성

MariaDB [(none)]> GRANT ALL PRIVILEGES ON placement.* TO 'placement'@'localhost' \
IDENTIFIED BY 'PLACEMENT_DBPASS';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON placement.* TO 'placement'@'%' \
IDENTIFIED BY 'PLACEMENT_DBPASS';
#권한 부여

MariaDB [(none)]> exit
#접속 종료

#서비스 사용자 등록
. admin-openrc
#어드민 권한 접속

openstack user create --domain default --password-prompt placement
#placement 사용자 생성

User Password: #PLACEMENT_PASS 기입
Repeat User Password: #PLACEMENT_PASS 기입
+---------------------+----------------------------------+
| Field               | Value                            |
+---------------------+----------------------------------+
| domain_id           | default                          |
| enabled             | True                             |
| id                  | fa742015a6494a949f67629884fc7ec8 |
| name                | placement                        |
| options             | {}                               |
| password_expires_at | None                             |
+---------------------+----------------------------------+
#생성결과(예시)

openstack role add --project service --user placement admin
#role 추가

#API 엔드포인트 생성
openstack service create --name placement \
--description "Placement API" placement
#API 항목 생성

openstack endpoint create --region RegionOne \
placement public http://controller:8778
#public

+--------------+----------------------------------+
| Field        | Value                            |
+--------------+----------------------------------+
| enabled      | True                             |
| id           | 2b1b2637908b4137a9c2e0470487cbc0 |
| interface    | public                           |
| region       | RegionOne                        |
| region_id    | RegionOne                        |
| service_id   | 2d1a27022e6e4185b86adac4444c495f |
| service_name | placement                        |
| service_type | placement                        |
| url          | http://controller:8778           |
+--------------+----------------------------------+
#생성결과(예시)

openstack endpoint create --region RegionOne \
placement internal http://controller:8778
#internal

+--------------+----------------------------------+
| Field        | Value                            |
+--------------+----------------------------------+
| enabled      | True                             |
| id           | 02bcda9a150a4bd7993ff4879df971ab |
| interface    | internal                         |
| region       | RegionOne                        |
| region_id    | RegionOne                        |
| service_id   | 2d1a27022e6e4185b86adac4444c495f |
| service_name | placement                        |
| service_type | placement                        |
| url          | http://controller:8778           |
+--------------+----------------------------------+
#생성결과(예시)

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

+--------------+----------------------------------+
| Field        | Value                            |
+--------------+----------------------------------+
| enabled      | True                             |
| id           | 3d71177b9e0f406f98cbff198d74b182 |
| interface    | admin                            |
| region       | RegionOne                        |
| region_id    | RegionOne                        |
| service_id   | 2d1a27022e6e4185b86adac4444c495f |
| service_name | placement                        |
| service_type | placement                        |
| url          | http://controller:8778           |
+--------------+----------------------------------+
#생성결과(예시)

구성 요소 설치 및 설정

apt-get update
#최신화(생략가능)

apt install placement-api
#설치

vi /etc/placement/placement.conf

[placement_database]
....(생)
connection = mysql+pymysql://placement:PLACEMENT_PASS@controller/placement
#설정한 PLACEMENT_PASS 기입

[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 = PLACEMENT_PASS

wq
#저장

su -s /bin/sh -c "placement-manage db sync" placement
#DB에 설정 값 채우기

service apache2 restart
#재시작

설치 확인

. 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                    |
+----------------------------------+
#출력값(예시)

#placement api 구동 실
pip3 install osc-placement
#osc-placement 플러그인을 설치

openstack --os-placement-api-version 1.2 resource class list --sort-column name
#등록확인 1
+----------------------------+
| name                       |
+----------------------------+
| DISK_GB                    |
| IPV4_ADDRESS               |
| ...(생략)                  |


openstack --os-placement-api-version 1.6 trait list --sort-column name
#등록확인 2
+---------------------------------------+
| name                                  |
+---------------------------------------+
| COMPUTE_DEVICE_TAGGING                |
| COMPUTE_NET_ATTACH_INTERFACE          |
| ...(생략)                             |

'구축 > Openstack' 카테고리의 다른 글

openstack 구축 6 neutron  (0) 2024.01.05
openstack 구축 5 nova  (2) 2024.01.03
openstack 구축 3 glance  (0) 2023.12.28
openstack 구축 2 keystone  (1) 2023.12.27
openstack 구축 1 사전 환경 구축  (1) 2023.12.26