학교 랩실에서 단일노드 Openstack 구축하기 - Keystone(3)
1. 데이터베이스 구축
# mysql
# MariaDB [(none)]> CREATE DATABASE keystone;
# MariaDB [(none)]> GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' \
IDENTIFIED BY '키스톤_DB_비밀번호';
# MariaDB [(none)]> GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' \
IDENTIFIED BY '키스톤_DB_비밀번호';
2. Keystone 설치와 설정
# apt install keystone
# vim /etc/keystone/keystone.conf
[database]
# ...
connection = mysql+pymysql://keystone:키스톤_DB_비밀번호@localhost/keystone
...
[token]
# ...
provider = fernet
...
# keystone-manage fernet_setup --keystone-user keystone --keystone-group keystone
# keystone-manage credential_setup --keystone-user keystone --keystone-group keystone
# keystone-manage bootstrap --bootstrap-password 관리자_패스워드 \
--bootstrap-admin-url http://노드_IP_주소:5000/v3/ \
--bootstrap-internal-url http://노드_IP_주소:5000/v3/ \
--bootstrap-public-url http://노드_IP_주소:5000/v3/ \
--bootstrap-region-id RegionOne
-
[database] 레이어 부분에서 controller가 아닌 localhost로 해줘야 한다.
앞으로 모든 설정파일에서 공식 문서와 다르게 localhost를 입력한다. -
엔드 포인트를 연결해주는 bootstrap 설정 부분에서는 해당 노드의 IP 주소를 사용한다.
앞으로 모든 설정파일에서 공식 문서와 다르게 노드 IP 주소를 입력한다.
3. HTTP 서버 설정
ServerName을 추가(변경) 한다.
# vim /etc/apache2/apache2.conf
ServerName 노드_IP_주소
4. 설치 완료
# service apache2 restart
# vim admin-openrc
export OS_USERNAME=admin
export OS_PASSWORD=관리자패스워드
export OS_PROJECT_NAME=admin
export OS_USER_DOMAIN_NAME=Default
export OS_PROJECT_DOMAIN_NAME=Default
export OS_AUTH_URL=http://노드_IP주소:5000/v3
export OS_IDENTITY_API_VERSION=3
5. 도메인, 프로젝트, 사용자 및 역할 생성
#. admin-openrc
# openstack domain create --description "An Example Domain" example
+-------------+----------------------------------+
| Field | Value |
+-------------+----------------------------------+
| description | An Example Domain |
| enabled | True |
| id | 2f4f80574fd84fe6ba9067228ae0a50c |
| name | example |
| tags | [] |
+-------------+----------------------------------+
# openstack project create --domain default \
--description "Service Project" service
+-------------+----------------------------------+
| Field | Value |
+-------------+----------------------------------+
| description | Service Project |
| domain_id | default |
| enabled | True |
| id | 24ac7f19cd944f4cba1d77469b2a73ed |
| is_domain | False |
| name | service |
| parent_id | default |
| tags | [] |
+-------------+----------------------------------+
# openstack project create --domain default \
--description "Demo Project" myproject
+-------------+----------------------------------+
| Field | Value |
+-------------+----------------------------------+
| description | Demo Project |
| domain_id | default |
| enabled | True |
| id | 231ad6e7ebba47d6a1e57e1cc07ae446 |
| is_domain | False |
| name | myproject |
| parent_id | default |
| tags | [] |
+-------------+----------------------------------+
# openstack user create --domain default \
--password-prompt myuser
User Password:
Repeat User Password:
+---------------------+----------------------------------+
| Field | Value |
+---------------------+----------------------------------+
| domain_id | default |
| enabled | True |
| id | aeda23aa78f44e859900e22c24817832 |
| name | myuser |
| options | {} |
| password_expires_at | None |
+---------------------+----------------------------------+
# openstack role create myrole
+-----------+----------------------------------+
| Field | Value |
+-----------+----------------------------------+
| domain_id | None |
| id | 997ce8d05fc143ac97d83fdfb5998552 |
| name | myrole |
+-----------+----------------------------------+
# openstack role add --project myproject --user myuser myrole
6. 작동 확인
admin과 myuser(사용자)의 토큰을 요청하면서 keystone 서비스의 작동이 잘 되는지 확인한다.
# unset OS_AUTH_URL OS_PASSWORD
# openstack --os-auth-url http://노드_IP_주소:5000/v3 \
--os-project-domain-name Default --os-user-domain-name Default \
--os-project-name admin --os-username admin token issue
Password:
+------------+-----------------------------------------------------------------+
| Field | Value |
+------------+-----------------------------------------------------------------+
| expires | 2016-02-12T20:14:07.056119Z |
| id | gAAAAABWvi7_B8kKQD9wdXac8MoZiQldmjEO643d-e_j-XXq9AmIegIbA7UHGPv |
| | atnN21qtOMjCFWX7BReJEQnVOAj3nclRQgAYRsfSU_MrsuWb4EDtnjU7HEpoBb4 |
| | o6ozsA_NmFWEpLeKy0uNn_WeKbAhYygrsmQGA49dclHVnz-OMVLiyM9ws |
| project_id | 343d245e850143a096806dfaefa9afdc |
| user_id | ac3377633149401296f6c0d92d79dc16 |
+------------+-----------------------------------------------------------------+
# openstack --os-auth-url http://controller:5000/v3 \
--os-project-domain-name Default --os-user-domain-name Default \
--os-project-name myproject --os-username myuser token issue
Password:
+------------+-----------------------------------------------------------------+
| Field | Value |
+------------+-----------------------------------------------------------------+
| expires | 2016-02-12T20:15:39.014479Z |
| id | gAAAAABWvi9bsh7vkiby5BpCCnc-JkbGhm9wH3fabS_cY7uabOubesi-Me6IGWW |
| | yQqNegDDZ5jw7grI26vvgy1J5nCVwZ_zFRqPiz_qhbq29mgbQLglbkq6FQvzBRQ |
| | JcOzq3uwhzNxszJWmzGC7rJE_H0A_a3UFhqv8M4zMRYSbS2YF0MyFmp_U |
| project_id | ed0b60bf607743088218b0a533d5943f |
| user_id | 58126687cbcc4888bfa9ab73a2256f27 |
+------------+-----------------------------------------------------------------+
Author And Source
이 문제에 관하여(학교 랩실에서 단일노드 Openstack 구축하기 - Keystone(3)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@kwakdubu/학교-랩실에서-단일노드-Openstack-구축하기-Keystone3저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)