1. DB에 keystone 데이터베이스 및 계정 생성
[root@controller ~]# mysql -u root -p
Enter password:
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 19
Server version: 10.3.10-MariaDB MariaDB Server
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;
MariaDB [(none)]> GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' \
-> IDENTIFIED BY 'KEYSTONE_DBPASS';
Query OK, 0 rows affected (0.001 sec)
MariaDB [(none)]> GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' \
-> IDENTIFIED BY 'KEYSTONE_DBPASS';
Query OK, 0 rows affected (0.000 sec)
MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.002 sec)
MariaDB [(none)]> exit
Bye2. keystone 등 관련 패키지 설치
yum --enablerepo=centos-openstack-stein,epel install openstack-keystone httpd mod_wsgi openstack-utils python-openstackclient -y
3. keystone config 파일 수정
[database]
connection = mysql+pymysql://keystone:KEYSTONE_DBPASS@controller/keystone
[token]
#주석 해제
provider = fernet
[cache]
#주석 해제 (memcache가 설치된 ip를 적으며 되는데, 여기서는 controller server내에 있으니 localhost로 설정)
memcache_servers = localhost:11211
4. keystone 설정 값들을 DB에 저장
[root@controller keystone]# su -s /bin/bash keystone -c "keystone-manage db_sync"
5. 토큰 및 증명 암호화를 위한 초기 설정
[root@controller keystone]# keystone-manage fernet_setup --keystone-user keystone --keystone-group keystone
[root@controller keystone]# keystone-manage credential_setup --keystone-user keystone --keystone-group keystone
6. keystone bootstrap
[root@controller keystone]# keystone-manage bootstrap --bootstrap-password ADMIN_PASS \
> --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
7. 방화벽 오픈
[root@controller keystone]# firewall-cmd --permanent --zone=public --add-port=5000/tcp
success
[root@controller keystone]# firewall-cmd --reload
success
8. httpd 설정
/etc/httpd/conf/httpd.conf 에서
ServerName controller로 변경하는데, 설정에 따라 servername 값은 바뀔 수 있다.
#keystone conf 파일 httpd 하위 conf.d 아래로 심볼릭 링크 걸기
[root@controller keystone]# ln -s /usr/share/keystone/wsgi-keystone.conf /etc/httpd/conf.d/
9. httpd 시작
[root@controller keystone]# systemctl enable httpd
[root@controller keystone]# systemctl start httpd
#다른 서버에서 호출이 되는지 확인
[root@compute1 ~]# curl http://controller:5000/v3
{"version": {"status": "stable", "updated": "2019-01-22T00:00:00Z", "media-types": [{"base": "application/json", "type": "application/vnd.openstack.identity-v3+json"}], "id": "v3.12", "links": [{"href": "http://controller:5000/v3/", "rel": "self"}]}}
10. console 에서 openstack 명령어를 사용할 때 인증을 해야 되는데 , 파일로 만들어놓고 해당 서버에 ssh 접속 후 해당 파일을 실행해서 환경변수에 저장을 할 수 있겠끔 계정 파일을 만들어 놓자.
$ export OS_USERNAME=admin
$ export OS_PASSWORD=<bootstrap_pass>
$ export OS_PROJECT_NAME=admin
$ export OS_USER_DOMAIN_NAME=Default
$ export OS_PROJECT_DOMAIN_NAME=Default
$ export OS_AUTH_URL=http://controller:5000/v3
$ export OS_IDENTITY_API_VERSION=3
OS_PASSWORD의 경우에는 앞서 bootstrap 시 설정한 pass를 입력하면 된다. 다른 부분도 이전에 설정을 다르게 했다면 맞춰서 하면 된다.
[root@controller ~]# openstack project list
+----------------------------------+-------+
| ID | Name |
+----------------------------------+-------+
| 949613aabfff4f4582b85f3d1abad59a | admin |
+----------------------------------+-------+
인증 및 명령어를 통한 결과값이 나오는지 확인을 해본다.
'SYSTEM > Openstack' 카테고리의 다른 글
Instance Volume 추가 시 iscsi connection fail로 오류나는 부분 해결 (0) | 2021.02.15 |
---|---|
Openstack Stein 설치 - 기본 (0) | 2020.05.12 |