Cloud

openstack keystone 설치해보기

arisu1000 2016. 2. 17. 09:00
원래 공식 가이드에는 장비를 여러대 사용하도록 되어 있지만, 한 대에 설치해 보자.

실제 openstack에서 요구하는 하드웨어 사양


테스트해 볼 설치환경
CPU : Intel(R) Core(TM) i7-4790 CPU @ 3.60GHz
Memory : 32M
OS : Ubuntu 14.04.2 LTS 64bit

keystone 설치하기

mysql 설정
mysql 설치
sudo apt-get install mysql-server

keystone 데이터베이스 만들기
mysql -u root -p
CREATE DATABASE keystone;

keystone 데이터베이스에 권한 추가
GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' \
  IDENTIFIED BY 'keystone_pass';
GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' \
  IDENTIFIED BY 'keystone_pass';



관리자 토큰으로 사용할 랜덤 값 생성
openssl rand -hex 10
12ecc8f05faa07a8d29f

keystone 서비스가 설치후 자동으로 시작되는걸 방지
echo "manual" > /etc/init/keystone.override

필요한 패키지 설치
apt-get install keystone apache2 libapache2-mod-wsgi \
  memcached python-memcache

keyston 설정파일 편집
vi /etc/keystone/keystone.conf

[DEFAULT]
admin_token=12ecc8f05faa07a8d29f
verbose=true

[database]
connection = mysql+pymysql://keystone:keystone_pass@127.0.0.1/keystone

[memcache]
servers = localhost:11211

[token]
provider=keystone.token.providers.uuid.Provider
driver = keystone.token.backends.memcache.Token

[revoke]
driver = sql



패키지 설치
apt-get install python-pip -y
pip install pymysql

DB 마이그레이션
keystone-manage db_sync

기본생성되는 sqlite 파일 삭제
rm -f /var/lib/keystone/keystone.db

keystone 사용해보기
필요한 환경설정
export OS_TOKEN=12ecc8f05faa07a8d29f
export OS_URL=http://controller:35357/v3
export OS_IDENTITY_API_VERSION=3


vi /etc/hosts
127.0.0.1   controller


openstack CLI 설치
apt-get install python-dev -y
pip install python-openstackclient

여기까지 했는데 에러 발생
keystone 데몬이 안 뜬다. memcache 클래스를 찾을 수 없다고 나온다.
설정 잘못이었음(문서대로 하면안된..ㅡㅡ;;)
아파치 가상호스트설정은 잘 안된다. 
그냥 바로 keystone 시작하면 된다.

keystone 시작.
service keystone start

keystone 사용하기

service 생성.
openstack service create --name keystone --description "OpenStack Identity" identity

endpoint 생성
openstack endpoint create --region RegionOne identity public http://controller:5000/v2.0
openstack endpoint create --region RegionOne identity internal http://controller:5000/v2.0
openstack endpoint create --region RegionOne identity admin http://controller:35357/v2.0

project 생성
openstack project create --domain default  --description "Admin Project" admin

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

admin role 생성
openstack role create admin

admin project와 user에 admin role 추가
openstack role add --project admin --user admin admin

service용으로 사용할 service project 생성
openstack project create --domain default  --description "Service Project" service

demo project 만들기
openstack project create --domain default --description "Demo Project" demo

demo user 만들기
openstack user create --domain default \
  --password-prompt demo

user role 만들기
openstack role create user

user role을 demo project와 demo user에 추가하기
openstack role add --project demo --user demo user

openstack client를 편하게 사용하기 위한 환경설정 스크립트 사용하기
vi admin-openrc.sh
export OS_PROJECT_DOMAIN_ID=default
export OS_USER_DOMAIN_ID=default
export OS_PROJECT_NAME=admin
export OS_TENANT_NAME=admin
export OS_USERNAME=admin
export OS_PASSWORD=ADMIN_PASS
export OS_AUTH_URL=http://controller:35357/v3
export OS_IDENTITY_API_VERSION=3

vi  demo-openrc.sh
export OS_PROJECT_DOMAIN_ID=default
export OS_USER_DOMAIN_ID=default
export OS_PROJECT_NAME=demo
export OS_TENANT_NAME=demo
export OS_USERNAME=demo
export OS_PASSWORD=DEMO_PASS
export OS_AUTH_URL=http://controller:5000/v3
export OS_IDENTITY_API_VERSION=3

사용하려면 source admin-openrc.sh 하고 나서 openstack CLI를 이용하면 된다.



참고