Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- xenserver app&desk
- AWS
- kubernetes
- centos7
- server base computing
- no-param-reassign
- microservices
- 객체지향
- 쿠버네티스
- 로키
- IaaS
- 구축
- app&desk
- 설치
- serverless
- rocky
- fargate
- openstack
- 프로젝트
- OOP
- 오픈스택
- 마이크로서비스
- jenkins
- 서버 베이스 컴퓨팅
- eks
- eslint
- sagemaker
- 젠킨스
- 가상 데스크탑 환경
- 머신러닝
Archives
- Today
- Total
IT
[openstack] 3.2 인증 서비스 설치(keystone) - centos7 오픈스택 설치 및 구축 프로젝트 (rocky 버전) 본문
프로젝트/openstack
[openstack] 3.2 인증 서비스 설치(keystone) - centos7 오픈스택 설치 및 구축 프로젝트 (rocky 버전)
abcee 2019. 3. 28. 20:533. 구성 과정
3.2 인증 서비스 설치
3.2.1 Controller Node
○ 전제조건
• root계정으로 DB 연결
$ mysql -u root -p
• Keystone Database 만들기
MariaDB [(none)]> CREATE DATABASE keystone;
• Database에 대한 액세스 권한 부여
/*
keystone 데이터베이스의 모든 스키마에 대해 keystone 계정의 로컬접근 권한 허용
GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' \
IDENTIFIED BY 'keystone 계정 비밀번호';
*/
MariaDB [(none)]> GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' \
IDENTIFIED BY 'It1';
/*
keystone 데이터베이스의 모든 스키마에 대해 keystone 계정의 외부접근 권한 허용
GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' \
IDENTIFIED BY 'keystone 계정 비밀번호';
*/
MariaDB [(none)]> GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' \
IDENTIFIED BY 'It1';
○ 설치 및 구성
• keystone, httpd, mod_wsgi 설치
# yum install -y openstack-keystone httpd mod_wsgi
• 키스톤 구성
- /etc/keystone/keystone.conf 을 통해 keystone 설정 수정
# vi /etc/keystone/keystone.conf
- [/etc/keystone/keystone.conf]
[database]
# 데이터 베이스 엑세스 설정
# connection = mysql+pymysql://keystone:KEYSTONE_DBPASScontroller/keystone
connection = mysql+pymysql://keystone:It1@controller/keystone
[token]
# token 구성
provider = fernet
- indentity service database 내용 채우기
/*
keystone-manage db_sync [keystone DB 이름] 명령을
관리자 권한으로 /bin/sh 쉘로 실행시켜 DB 동기화
*/
# su -s /bin/sh -c "keystone-manage db_sync" keystone
- fernet key 저장소 초기화
/*
keystone-manage fernet_setup 명령을 실행시켜 fernet key 저장소 초기화
*/
# keystone-manage fernet_setup --keystone-user keystone --keystone-group keystone
/*
keystone-manage credential_setup 명령을 실행시켜 fernet key 암호화
*/
# keystone-manage credential_setup --keystone-user keystone --keystone-group keystone
- indentity 서비스에 대해 bootstrap 적용
# keystone-manage bootstrap --bootstrap-password It1 \
--bootstrap-admin-url http://controller:5000/v3/ \
--bootstrap-internal-url http://controller:5000/v3/ \
--bootstrap-public-url http://controller:5000/v3/ \
--bootstrap-region-id RegionOne
• Apache HTTP Server 구성
- http config 구성
# vi /etc/httpd/conf/httpd.conf
○ 서버 이름설정
ServerName controller
- wsgi-keystone.conf 파일을 /etc/httpd/conf.d 경로에서 사용할 수 있게 링크 설정
ln -s /usr/share/keystone/wsgi-keystone.conf /etc/httpd/conf.d/
○ 마무리
• httpd 서비스가 부팅 시 시작되도록 등록하고 서비스를 시작한다.
# systemctl enable httpd.service
# systemctl start httpd.service
○ 인증에 사용될 환경 변수 설정
• 관리 계정 스크립트 구성
# vi admin-openrc
export OS_PROJECT_DOMAIN_NAME=Default
export OS_USER_DOMAIN_NAME=Default
export OS_PROJECT_NAME=admin
export OS_USERNAME=admin
export OS_PASSWORD=It1
export OS_AUTH_URL=http://controller:5000/v3
export OS_IDENTITY_API_VERSION=3
export OS_IMAGE_API_VERSION=2
• 관리 계정 스크립트 실행
$ . admin-openrc
○ admin유저에 대한 검증
$ . admin-openrc
$ openstack token issue

○ 각종 서비스들이 설정될 service project 생성
$ openstack project create --domain default \
--description "Service Project" service