본문 바로가기
IT/그 외 IT

[OpenStack] 2. Keystone 설정

by 초록술 2022. 5. 30.
반응형

 

1. MariaDB에 keystone database와 계정을 설정

root@nw1:/etc/mysql# mysql
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 36
Server version: 10.3.34-MariaDB-0ubuntu0.20.04.1 Ubuntu 20.04

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> create database keystone; 
Query OK, 1 row affected (0.000 sec)

MariaDB [(none)]> grant all privileges on keystone.* to keystone@'localhost' identified by 'keystoneDB 패스워드';
Query OK, 0 rows affected (0.001 sec)

MariaDB [(none)]> grant all privileges on keystone.* to keystone@'%' identified by 'keystoneDB 패스워드'; 
Query OK, 0 rows affected (0.000 sec)

MariaDB [(none)]> flush privileges; 
Query OK, 0 rows affected (0.001 sec)

MariaDB [(none)]> exit
Bye

 

2. keystone 설치

apt -y install keystone python3-openstackclient apache2 libapache2-mod-wsgi-py3 python3-oauth2client

root@nw1:/etc/mysql# apt -y install keystone python3-openstackclient apache2 libapache2-mod-wsgi-py3 python3-oauth2client
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following package was automatically installed and is no longer required:
  libfwupdplugin1
Use 'apt autoremove' to remove it.
The following additional packages will be installed:
  alembic apache2-bin apache2-data apache2-utils docutils-common ieee-data javascript-common keystone-common libapr1 libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap libjs-jquery libjs-sphinxdoc
  libjs-underscore liblua5.2-0 pycadf-common python-babel-localedata python-pastedeploy-tpl python3-alembic python3-amqp python3-aniso8601 python3-anyjson python3-appdirs python3-babel python3-bcrypt
  python3-bs4 python3-cachetools python3-cinderclient python3-cliff python3-cmd2 python3-crypto python3-debtcollector python3-decorator python3-defusedxml python3-deprecation python3-dnspython python3-docutils
  python3-dogpile.cache python3-eventlet python3-extras python3-fasteners python3-fixtures python3-flask python3-flask-restful python3-futurist python3-greenlet python3-html5lib python3-iso8601
  python3-itsdangerous python3-jmespath python3-keystone python3-keystoneauth1 python3-keystoneclient python3-keystonemiddleware python3-kombu python3-ldap python3-linecache2 python3-lxml python3-mako
  python3-memcache python3-migrate python3-mimeparse python3-monotonic python3-msgpack python3-munch python3-netaddr python3-novaclient python3-openstacksdk python3-os-client-config python3-os-service-types
  python3-osc-lib python3-oslo.cache python3-oslo.concurrency python3-oslo.config python3-oslo.context python3-oslo.db python3-oslo.i18n python3-oslo.log python3-oslo.messaging python3-oslo.metrics
  python3-oslo.middleware python3-oslo.policy python3-oslo.serialization python3-oslo.service python3-oslo.upgradecheck python3-oslo.utils python3-osprofiler python3-packaging python3-passlib python3-paste
  python3-pastedeploy python3-pastescript python3-pbr python3-prettytable python3-prometheus-client python3-pycadf python3-pygments python3-pyinotify python3-pyparsing python3-pyperclip python3-pysaml2
  python3-repoze.lru python3-requestsexceptions python3-rfc3986 python3-roman python3-routes python3-rsa python3-scrypt python3-soupsieve python3-sqlalchemy python3-sqlalchemy-ext python3-sqlparse
  python3-statsd python3-stevedore python3-tempita python3-tenacity python3-testresources python3-testscenarios python3-testtools python3-traceback2 python3-unittest2 python3-vine python3-wcwidth
  python3-webencodings python3-webob python3-werkzeug python3-wrapt xmlsec1
Suggested packages:
  apache2-doc apache2-suexec-pristine | apache2-suexec-custom python-amqp-doc python-cliff-doc python-debtcollector-doc docutils-doc fonts-linuxlibertine | ttf-linux-libertine texlive-lang-french
  texlive-latex-base texlive-latex-recommended python-eventlet-doc python-flask-doc python-futurist-doc python-greenlet-doc python-greenlet-dev python3-greenlet-dbg python3-genshi python3-ldappool
  python-keystoneauth1-doc python3-requests-kerberos python-kombu-doc python3-boto python3-django python3-pymongo python3-redis python3-lxml-dbg python-lxml-doc python3-beaker python-mako-doc
  python-migrate-doc ipython3 python-netaddr-docs python-openstacksdk-doc

 

3. KeyStone 설정

keystone conf 설정

vi /etc/keystone/keystone.conf

 

 

 

 

442 라인에 memcache_servers 설정

 IP 는 실제 사용하는 IP로 변경

 

 

604 라인에 db connection 정보 설정

connection = mysql+pymysql://keystone:keystoneDB패스워드@DB서버IP/keystone

 

 

2520 라인에 provider 주석 해제 후 파일 저장

 

 

# 서비스 db 등록
root@nw1:~# su -s /bin/bash keystone -c "keystone-manage db_sync"

# Fernet key 저장소 초기화
root@nw1:~# keystone-manage fernet_setup --keystone-user keystone --keystone-group keystone
root@nw1:~# keystone-manage credential_setup --keystone-user keystone --keystone-group keystone

# keystone IP
root@nw1:~# export controller=192.168.105.191

# 서비스 bootstrap
root@nw1:~# keystone-manage bootstrap --bootstrap-password 'keystone 패스워드 설정' \
> --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
root@nw1:~# 

 

 

4. Apache http 서버 구성

vi /etc/apache2/apache2.conf

ServerName 을 추가

 

 

 

 

 

서비스 재시작

systemctl restart apache2

 

 

 

5.환경 변수 등록

vi ~/keystonerc

export OS_PROJECT_DOMAIN_NAME=default
export OS_USER_DOMAIN_NAME=default
export OS_PROJECT_NAME=admin
export OS_USERNAME=admin
export OS_PASSWORD=keystone 패스워드
export OS_AUTH_URL=http://192.168.105.191:5000/v3
export OS_IDENTITY_API_VERSION=3
export OS_IMAGE_API_VERSION=2
export PS1='\u@\h \W(keystone)\$ '

패스워드에는 keystone-manage bootstrap --bootstrap-password 에 설정한 keystone 패스워드 입력

IP는 서버 IP로 변경 하여 파일 저장

 

 

root@nw1:~# chmod 600 ~/keystonerc
root@nw1:~# source ~/keystonerc
root@nw1 ~(keystone)# echo "source ~/keystonerc " >> ~/.bashrc
root@nw1 ~(keystone)# 

 

 

 

 

6. 프로젝트 설정

openstack project create --domain default --description "Service Project" service

 

#openstack project 리스트 확인

openstack project list

 

 

 

 

 

 

참고 사이트

https://www.server-world.info/en/note?os=Ubuntu_20.04&p=openstack_xena&f=3 

 

Ubuntu 20.04 LTS : OpenStack Xena : Configure Keystone #1 : Server World

root@dlp:~# mysql Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 36 Server version: 10.3.31-MariaDB-0ubuntu0.20.04.1 Ubuntu 20.04 Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others. Type 'help;' or

www.server-world.info

 

반응형

댓글