실제 물리 서버를 이용한 OpenStack 구축(3) : Keystone

NOHHYEONGJUN·2025년 2월 21일

OpenStack

목록 보기
7/23
post-thumbnail

1. Keystone

https://docs.openstack.org/keystone/2023.1/install/

사용자 인증, 권한 부여, API 접근 제어 등을 관리하는 서비스

주요 기능
- 인증 토큰 발급 및 관리
- 역할 기반 접근 제어(RBAC) 구현
- 서비스 카탈로그 제공

연계
- 오픈스택의 모든 서비스에 대해 인증 및 권한 관리 기능 제공

 

1. con01

  • 모든 설정 파일은 원본을 백업 후 진행한다.
  • 설정 파일은 주석이 많으므로, 주석을 제거 후 내용을 수정한다.
# 주석 제거 스크립트 작성

vi /nfs/sed.sh
sed -i '/^#/d;/^$/d' $1

chmod +x /nfs/sed.sh

 

mysql

CREATE DATABASE keystone;

GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' \
IDENTIFIED BY 'openstack';
GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' \
IDENTIFIED BY 'openstack';

exit

 

apt install keystone

cd /etc/keystone/

# 원본 백업
cp keystone.conf keystone.conf.v0

# 주석 제거
/nfs/sed.sh keystone.conf

vi keystone.conf

[database]
connection = mysql+pymysql://keystone:openstack@con01/keystone
[token]
provider = fernet

su -s /bin/sh -c "keystone-manage db_sync" keystone

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 openstack \
  --bootstrap-admin-url http://con01:5000/v3/ \
  --bootstrap-internal-url http://con01:5000/v3/ \
  --bootstrap-public-url http://con01:5000/v3/ \
  --bootstrap-region-id RegionOne
  
vi /etc/apache2/apache2.conf
ServerName con01

service apache2 restart

export OS_USERNAME=admin
export OS_PASSWORD=openstack
export OS_PROJECT_NAME=admin
export OS_USER_DOMAIN_NAME=Default
export OS_PROJECT_DOMAIN_NAME=Default
export OS_AUTH_URL=http://con01:5000/v3
export OS_IDENTITY_API_VERSION=3

env

 

openstack domain create --description "An Example Domain" example

openstack project create --domain default \
  --description "Service Project" service
  
openstack project create --domain default \
  --description "Demo Project" myproject
  
openstack user create --domain default \
  --password-prompt myuser
User Password: openstack
Repeat User Password: openstack

openstack role create myrole

openstack role add --project myproject --user myuser myrole

 

unset OS_AUTH_URL OS_PASSWORD

openstack --os-auth-url http://con01:5000/v3 \
  --os-project-domain-name Default --os-user-domain-name Default \
  --os-project-name admin --os-username admin token issue
Password: openstack

openstack --os-auth-url http://con01:5000/v3 \
  --os-project-domain-name Default --os-user-domain-name Default \
  --os-project-name myproject --os-username myuser token issue
Password: openstack

 

vi /nfs/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=openstack
export OS_AUTH_URL=http://con01:5000/v3
export OS_IDENTITY_API_VERSION=3
export OS_IMAGE_API_VERSION=2

. admin-openrc
profile
Cloud/DevOps & Network Virtualization에 관심 있는 Engineer입니다. 🐳⚓️👨‍✈️

0개의 댓글