Placement

망나니엔지니어·2024년 4월 5일

Openstack 설치

목록 보기
10/10

2. Openstack Component

Placement

Placement란?

OpenStack의 한 구성 요소로서, 클라우드 내의 리소스 인벤토리를 추적하고 리소스 사용을 최적화하기 위한 서비스이다. Placement 서비스는 사용 가능한 컴퓨팅, 스토리지, 메모리 등의 리소스를 관리하고, 이러한 리소스에 대한 요청을 처리하여 가상 머신이나 다른 리소스를 필요한 곳에 효율적으로 할당할 수 있도록 돕는다.
아래는 Placement Component Workflow 예시이다.

Placement DB 생성 및 Placement 사용자 권한 부여

[Con01에서 진행]
mysql -uroot -p

create database placement;
> placement database 생성

create user placement@localhost identified by '[Password]';
create user placement@localhost identified by 'placement';
> placement가 localhost에서 접근 가능하도록 생성

create user placement@'%' identified by '[Password]';
create user placement@'%' identified by 'placement';
> glance가 모든 host에서 접근 가능하도록 생성

grant all privileges on placement.* to placement@localhost;
> placement@localhost 사용자에게 placement Database에 대한 모든 권한 부여
grant all privileges on placement.* to placement@'%';
> placement@'%' 사용자에게 placement Database에 대한 모든 권한 부여

Openstack Placement User 생성

[Con01에서 진행]
openstack user create --domain default --password-prompt placement

Openstack Placement Service 생성

[Con01에서 진행]
openstack service create --name placement --description "Placement API" placement

Placement User Role 설정

openstack role add --project service --user placement admin

Placement Endpoint 생성

openstack endpoint create --region RegionOne placement public http://192.168.0.10:18778
openstack endpoint create --region RegionOne placement internal http://192.168.0.10:18778
openstack endpoint create --region RegionOne placement admin http://192.168.0.10:18778

Placement 설치 및 Config 설정

[모든 node에서 진행]
apt install placement-api

vi /etc/placement/placement.conf

...
[placement_database]
connection = mysql+pymysql://placement:placement@192.168.0.10:13306/placement

[api]
auth_strategy = keystone

[keystone_authtoken]
www_authenticate_uri = http://192.168.0.10:15000
auth_url = http://192.168.0.10:15000
memcached_servers = 192.168.0.11:11211,192.168.0.12:11211,192.168.0.13:11211
auth_type = password
project_domain_name = Default
user_domain_name = Default
project_name = service
username = placement
password = placement

Placement DB Sync

[Con01에서 진행]
/bin/sh -c "placement-manage db sync" placement

Haproxy 설정

[모든 node에서 진행]
vi /etc/haproxy/haproxy.cfg

...
listen placement
  bind 192.168.0.10:18778
  balance source
  option tcpka
  option httpchk
  server con01 192.168.0.11:8778 check inter 2000 rise 2 fall 5
  server con02 192.168.0.12:8778 check inter 2000 rise 2 fall 5
  server con03 192.168.0.13:8778 check inter 2000 rise 2 fall 5

Haproxy 설정 및 Placement 설정 적용

[모든 node에서 진행]
systemctl restart haproxy
sytsemctl restart apache2
> Placement는 apache2와 연동되는 Component로, apache2 재기동을 통한 keystone Config 설정을 적용한다.
profile
인프라 엔지니어부터

0개의 댓글