Keystone 설치 및 설정 (openSUSE와 SLE)

Jmnote (토론 | 기여)님의 2024년 7월 3일 (수) 20:19 판 (→‎Apache HTTP 서버 설정)
(차이) ← 이전 판 | 최신판 (차이) | 다음 판 → (차이)

1 개요

Install and configure
설치 및 설정

https://docs.openstack.org/keystone/2024.1/install/keystone-install-obs.html


이 섹션에서는 컨트롤러 노드에 OpenStack Identity 서비스(코드명: keystone)를 설치하고 설정하는 방법을 설명합니다. 확장성을 위해 이 설정은 Fernet 토큰과 요청을 처리하는 Apache HTTP 서버를 배포합니다.

Note

진행하기 전에 OpenStack 설치 가이드의 전제조건 설치 단계를 완료했는지 확인하십시오.

2 전제조건

Identity 서비스를 설치하고 구성하기 전에 데이터베이스를 만들어야 합니다.

Note

시작하기 전에 python-pyasn1 최신 버전이 설치되어 있는지 확인하십시오.

1. 데이터베이스 액세스 클라이언트를 사용하여 root 사용자로 데이터베이스 서버에 연결하십시오:

$ mysql -u root -p

2. keystone 데이터베이스를 생성하십시오:

MariaDB [(none)]> CREATE DATABASE keystone;

3. keystone 데이터베이스에 대한 적절한 액세스를 부여하십시오:

MariaDB [(none)]> GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' \
IDENTIFIED BY 'KEYSTONE_DBPASS';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' \
IDENTIFIED BY 'KEYSTONE_DBPASS';
KEYSTONE_DBPASS를 적절한 패스워드로 바꾸십시오.

4. 데이터베이스 액세스 클라이언트를 종료하십시오.

3 컴포넌트 설치 및 설정

Note

기본 설정 파일은 배포판에 따라 다를 수 있습니다. 기존 섹션과 옵션을 수정하는 대신 이러한 섹션과 옵션을 추가해야 할 수도 있습니다. 설정 스니핏의 생략기호(...)는 유지해야 하는 기본 설정 옵션을 나타냅니다.

Note

Newton 릴리스부터 SUSE OpenStack 패키지는 업스트림 기본 설정 파일과 함께 제공됩니다. 예를 들어 /etc/keystone/keystone.conf과 커스텀 설정 /etc/keystone/keystone.conf.d/010-keystone.conf이 있는 경우입니다. 다음 지침은 기본 설정 파일을 수정하지만, /etc/keystone/keystone.conf.d에 새 파일을 추가하여 동일한 결과를 얻을 수 있습니다.

1. 다음 명령어를 실행하여 패키지를 설치합니다:

# zypper install openstack-keystone apache2 apache2-mod_wsgi

2. /etc/keystone/keystone.conf 파일을 편집하고 다음 작업을 완료합니다:

  • [database] 섹션에, 데이터베이스 액세스를 설정합니다:
[database]
# ...
connection = mysql+pymysql://keystone:KEYSTONE_DBPASS@controller/keystone
여기서 KEYSTONE_DBPASS를 데이터베이스에 선택한 패스워드로 대체합니다.

Note

[database] 섹션의 다른 connection 옵션을 주석 처리하거나 제거합니다.
  • [token] 섹션에, Fernet 토큰 제공자를 설정합니다:
[token]
# ...
provider = fernet

3. Identity 서비스 데이터베이스를 채웁니다:

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

4. Fernet 키 리포지토리를 초기화합니다:

Note

--keystone-user--keystone-group 플래그는 keystone을 실행할 운영체제의 사용자/그룹을 지정하는 데 사용됩니다. 이는 keystone을 다른 운영체제 사용자/그룹으로 실행할 수 있도록 제공됩니다. 아래 예제에서는 사용자 및 그룹을 keystone으로 지정합니다.
# keystone-manage fernet_setup --keystone-user keystone --keystone-group keystone
# keystone-manage credential_setup --keystone-user keystone --keystone-group keystone

5. Identity 서비스를 부트스트랩합니다:

Note

Queens 릴리스 이전에는 Identity v2 API를 수용하기 위해 keystone을 두 개의 별도 포트에서 실행해야 했습니다. v2 API는 일반적으로 35357 포트에서 별도의 관리자 전용 서비스로 실행되었습니다. v2 API가 제거되면서 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
여기서 ADMIN_PASS를 관리자 사용자에 적합한 패스워드로 대체합니다.

4 Apache HTTP 서버 설정

1. /etc/sysconfig/apache2 파일을 편집하여 APACHE_SERVERNAME 옵션을 컨트롤러 노드를 참조하도록 설정합니다:

APACHE_SERVERNAME="controller"
APACHE_SERVERNAME 항목이 없으면 추가해야 합니다.

2. 다음 내용으로 /etc/apache2/conf.d/wsgi-keystone.conf 파일을 생성합니다:

Listen 5000

<VirtualHost *:5000>
    WSGIDaemonProcess keystone-public processes=5 threads=1 user=keystone group=keystone display-name=%{GROUP}
    WSGIProcessGroup keystone-public
    WSGIScriptAlias / /usr/bin/keystone-wsgi-public
    WSGIApplicationGroup %{GLOBAL}
    WSGIPassAuthorization On
    ErrorLogFormat "%{cu}t %M"
    ErrorLog /var/log/apache2/keystone.log
    CustomLog /var/log/apache2/keystone_access.log combined

    <Directory /usr/bin>
        Require all granted
    </Directory>
</VirtualHost>

3. /etc/keystone 디렉토리의 소유권을 재귀적으로 변경합니다:

chown -R keystone:keystone /etc/keystone

4.1 SSL

시큐어한 배포를 위해 웹 서버는 SSL을 사용하도록 설정되거나 SSL 터미네이터 뒤에서 실행되어야 합니다.

5 설치 마무리

1. Apache HTTP 서비스를 시작하고 시스템 부팅 시 자동으로 시작되도록 설정하십시오:

# systemctl enable apache2.service
# systemctl start apache2.service

2. 적절한 환경변수를 세팅하여 관리자 계정을 설정하십시오:

export OS_USERNAME=admin
export OS_PASSWORD=ADMIN_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
여기에 보이는 값들은 keystone-manage bootstrap 명령어로 생성된 기본 값들입니다.
ADMIN_PASS컴포넌트 설치 및 설정keystone-manage bootstrap 명령어에 사용된 패스워드로 교체하십시오.
문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}