본문
VirtualBox위에 OpenStack Liberty 설치하기 #8. 서비스설치 (3)
VirtualBox위에 OpenStack Liberty 설치하기 #1. 소개
VirtualBox위에 OpenStack Liberty 설치하기 #2. Liberty 네트워크구조
VirtualBox위에 OpenStack Liberty 설치하기 #3. 네트워크 설정
VirtualBox위에 OpenStack Liberty 설치하기 #4. 노드구성
VirtualBox위에 OpenStack Liberty 설치하기 #5. 서비스설치 (1)
VirtualBox위에 OpenStack Liberty 설치하기 #6. 서비스설치 (2)
VirtualBox위에 OpenStack Liberty 설치하기 #7. 인스턴스 생성
여태까지 7개의 과정으로 간단히 오픈스택 인스턴스 생성하는것까지는 마쳤다. 이제는 개인적으로 관심있는 Ceilometer와 Heat를 설치하는 과정을 추가적으로 기록하기로 한다. Ceilometer는 오픈스택에서의 각종 자원들의 사용현황등을 컨트롤러 노드에서 취합해서 (이때 MongoDB가 사용됨) 사용자에게 전달하는 역할을 수행하고, Heat는 Heat Orchestration Template (HOT) 을 바탕으로 여러개의 클라우드 어플리케이션으로 구성된 클라우드 서비스를 자동으로 구축해주는 도구이다.
주의사항: 사용자의 확인 또는 입력이 필요한 부분은 <입력값> 의 형태로 나타낼 것이고 그 이외에는 그냥 복사 붙여넣기하여 설치를 진행할 수 있다. 또한 괄호없이 빨간색 글씨로 되어있는부분은 기본암호이므로 보안을 강화하기 위해서는 이 부분과, 관련한 설정파일들을 변경해 주어야 한다. Ubuntu14.04버전 기준으로 작성되어 다른 운영체제에서는 호환이 되지않을수 있다. 기본적으로 'sudo su'를 미리 실행하여 root 권한으로 진행하도록 한다.
목차
8. MongoDB 설치9-1. Ceilometer 설치
9-2. Ceilometer 설치 후 동작확인(오류메시지만 안나오면 OK)
10-1. Heat 설치
10-2. Heat 설치 후 동작확인(오류메시지만 안나오면 OK)
8. MongoDB 설치
apt-get install mongodb-server mongodb-clients python-pymongo
curl "https://raw.githubusercontent.com/frontjang/openstack_liberty/master/Ctrl|_etc_mongodb.conf" > /etc/mongodb.conf
service mongodb stop
rm /var/lib/mongodb/journal/prealloc.*
service mongodb start
9-1. Ceilometer 설치
[컨트롤러 노드]
mongo --host controller --eval 'db = db.getSiblingDB("ceilometer"); db.addUser({user: "ceilometer", pwd: "CEILOMETER_DBPASS", roles: [ "readWrite", "dbAdmin" ]})'
source admin-openrc.sh
openstack user create --domain default --password-prompt ceilometer CEILOMETER_PASS
openstack role add --project service --user ceilometer admin
openstack service create --name ceilometer --description "Telemetry" metering
openstack endpoint create --region RegionOne metering public http://controller:8777
openstack endpoint create --region RegionOne metering internal http://controller:8777
openstack endpoint create --region RegionOne metering admin http://controller:8777
apt-get install ceilometer-api ceilometer-collector ceilometer-agent-central ceilometer-agent-notification ceilometer-alarm-evaluator ceilometer-alarm-notifier python-ceilometerclient
curl "https://raw.githubusercontent.com/frontjang/openstack_liberty/heat/Ctrl|_etc_ceilometer_ceilometer.conf" > /etc/ceilometer/ceilometer.conf
service ceilometer-agent-central restart
service ceilometer-agent-notification restart
service ceilometer-api restart
service ceilometer-collector restart
service ceilometer-alarm-evaluator restart
service ceilometer-alarm-notifier restart
[컴퓨트 노드]
apt-get install ceilometer-agent-compute
curl "https://raw.githubusercontent.com/frontjang/openstack_liberty/heat/Compute|_etc_ceilometer_ceilometer.conf" > /etc/ceilometer/ceilometer.conf
curl "https://raw.githubusercontent.com/frontjang/openstack_liberty/heat/Compute|_etc_nova_nova.conf" > /etc/nova/nova.conf
service ceilometer-agent-compute restart
service nova-compute restart
9-2. Ceilometer 설치 후 동작확인(오류메시지만 안나오면 OK)
[컨트롤러 노드]
source admin-openrc.sh
ceilometer meter-list
IMAGE_ID=$(glance image-list | grep 'cirros' | awk '{ print $2 }')
glance image-download $IMAGE_ID > /tmp/cirros.img
ceilometer meter-list
ceilometer statistics -m image.download -p 60
rm /tmp/cirros.img
10-1. Heat 설치
[컨트롤러 노드]
mysql -u root -p <아래의 sql구문입력>
CREATE DATABASE heat;
GRANT ALL PRIVILEGES ON heat.* TO 'heat'@'localhost' IDENTIFIED BY 'HEAT_DBPASS';
GRANT ALL PRIVILEGES ON heat.* TO 'heat'@'%' IDENTIFIED BY 'HEAT_DBPASS';
source admin-openrc.sh
openstack user create --domain default --password-prompt heat HEAT_PASS
openstack role add --project service --user heat admin
openstack service create --name heat --description "Orchestration" orchestration
openstack service create --name heat-cfn --description "Orchestration" cloudformation
openstack endpoint create --region RegionOne orchestration public http://controller:8004/v1/%\(tenant_id\)s
openstack endpoint create --region RegionOne orchestration internal http://controller:8004/v1/%\(tenant_id\)s
openstack endpoint create --region RegionOne orchestration admin http://controller:8004/v1/%\(tenant_id\)s
openstack endpoint create --region RegionOne cloudformation public http://controller:8000/v1
openstack endpoint create --region RegionOne cloudformation internal http://controller:8000/v1
openstack endpoint create --region RegionOne cloudformation admin http://controller:8000/v1
openstack domain create --description "Stack projects and users" heat
openstack user create --domain heat --password-prompt heat_domain_admin HEAT_DOMAIN_PASS
openstack role add --domain heat --user heat_domain_admin admin
openstack role create heat_stack_owner
openstack role add --project demo --user demo heat_stack_owner
openstack role create heat_stack_user
apt-get install heat-api heat-api-cfn heat-engine python-heatclient
curl "https://raw.githubusercontent.com/frontjang/openstack_liberty/heat/Ctrl|_etc_heat_heat.conf" > /etc/heat/heat.conf
su -s /bin/sh -c "heat-manage db_sync" heat
service heat-api restart
service heat-api-cfn restart
service heat-engine restart
rm -f /var/lib/heat/heat.sqlite
source admin-openrc.sh
heat service-list
10-2. Heat 설치 후 동작확인(오류메시지만 안나오면 OK)
[컨트롤러 노드]
source admin-openrc.sh
heat service-list
댓글