원래 공식 가이드에는 장비를 여러대 사용하도록 되어 있지만, 한 대에 설치해 보자.
실제 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
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를 이용하면 된다.
참고