Keystone 설치 및 설정 (openSUSE와 SLE) 편집하기

경고: 로그인하지 않았습니다. 편집을 하면 IP 주소가 공개되게 됩니다. 로그인하거나 계정을 생성하면 편집자가 사용자 이름으로 기록되고, 다른 장점도 있습니다.

편집을 취소할 수 있습니다. 이 편집을 되돌리려면 아래의 바뀐 내용을 확인한 후 게시해주세요.

최신판 당신의 편집
1번째 줄: 1번째 줄:
==개요==
==개요==
{{작성중}}
[[분류: keystone]]
[[분류: keystone]]
;Install and configure
;Install and configure
12번째 줄: 13번째 줄:


==전제조건==
==전제조건==
Identity 서비스를 설치하고 구성하기 전에 데이터베이스를 만들어야 합니다.
{{NOTE}}
시작하기 전에 <code>[https://pypi.org/project/pyasn1/ python-pyasn1]</code> 최신 버전이 설치되어 있는지 확인하십시오.
{{/NOTE}}
1. 데이터베이스 액세스 클라이언트를 사용하여 <code>root</code> 사용자로 데이터베이스 서버에 연결하십시오:
:<syntaxhighlight lang='console'>
$ mysql -u root -p
</syntaxhighlight>
2. <code>keystone</code> 데이터베이스를 생성하십시오:
:<syntaxhighlight lang='console'>
MariaDB [(none)]> CREATE DATABASE keystone;
</syntaxhighlight>
3. <code>keystone</code> 데이터베이스에 대한 적절한 액세스를 부여하십시오:
:<syntaxhighlight lang='console'>
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';
</syntaxhighlight>
:<code>KEYSTONE_DBPASS</code>를 적절한 패스워드로 바꾸십시오.
4. 데이터베이스 액세스 클라이언트를 종료하십시오.
==컴포넌트 설치 및 설정==
==컴포넌트 설치 및 설정==
{{NOTE}}
기본 설정 파일은 배포판에 따라 다를 수 있습니다. 기존 섹션과 옵션을 수정하는 대신 이러한 섹션과 옵션을 추가해야 할 수도 있습니다. 설정 스니핏의 생략기호(...)는 유지해야 하는 기본 설정 옵션을 나타냅니다.
{{/NOTE}}
{{NOTE}}
Newton 릴리스부터 SUSE OpenStack 패키지는 업스트림 기본 설정 파일과 함께 제공됩니다. 예를 들어 <code>/etc/keystone/keystone.conf</code>과 커스텀 설정 <code>/etc/keystone/keystone.conf.d/010-keystone.conf</code>이 있는 경우입니다. 다음 지침은 기본 설정 파일을 수정하지만, <code>/etc/keystone/keystone.conf.d</code>에 새 파일을 추가하여 동일한 결과를 얻을 수 있습니다.
{{/NOTE}}
1. 다음 명령어를 실행하여 패키지를 설치합니다:
:<syntaxhighlight lang='console'>
# zypper install openstack-keystone apache2 apache2-mod_wsgi
</syntaxhighlight>
2. <code>/etc/keystone/keystone.conf</code> 파일을 편집하고 다음 작업을 완료합니다:
* <code>[database]</code> 섹션에, 데이터베이스 액세스를 설정합니다:
:<syntaxhighlight lang='ini'>
[database]
# ...
connection = mysql+pymysql://keystone:KEYSTONE_DBPASS@controller/keystone
</syntaxhighlight>
:여기서 <code>KEYSTONE_DBPASS</code>를 데이터베이스에 선택한 패스워드로 대체합니다.
:{{NOTE}}[database] 섹션의 다른 <code>connection</code> 옵션을 주석 처리하거나 제거합니다.{{/NOTE}}
* <code>[token]</code> 섹션에, Fernet 토큰 제공자를 설정합니다:
:<syntaxhighlight lang='ini'>
[token]
# ...
provider = fernet
</syntaxhighlight>
3. Identity 서비스 데이터베이스를 채웁니다:
:<syntaxhighlight lang='console'>
# su -s /bin/sh -c "keystone-manage db_sync" keystone
</syntaxhighlight>
4. Fernet 키 리포지토리를 초기화합니다:
:{{NOTE}}<code>--keystone-user</code>와 <code>--keystone-group</code> 플래그는 keystone을 실행할 운영체제의 사용자/그룹을 지정하는 데 사용됩니다. 이는 keystone을 다른 운영체제 사용자/그룹으로 실행할 수 있도록 제공됩니다. 아래 예제에서는 사용자 및 그룹을 <code>keystone</code>으로 지정합니다.{{/NOTE}}
:<syntaxhighlight lang='console'>
# keystone-manage fernet_setup --keystone-user keystone --keystone-group keystone
# keystone-manage credential_setup --keystone-user keystone --keystone-group keystone
</syntaxhighlight>
5. Identity 서비스를 부트스트랩합니다:
:{{NOTE}}Queens 릴리스 이전에는 Identity v2 API를 수용하기 위해 keystone을 두 개의 별도 포트에서 실행해야 했습니다. v2 API는 일반적으로 35357 포트에서 별도의 관리자 전용 서비스로 실행되었습니다. v2 API가 제거되면서 keystone은 모든 인터페이스에서 동일한 포트에서 실행할 수 있습니다.{{/NOTE}}
:<syntaxhighlight lang='console'>
# 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
</syntaxhighlight>
:여기서 <code>ADMIN_PASS</code>를 관리자 사용자에 적합한 패스워드로 대체합니다.
==Apache HTTP 서버 설정==
==Apache HTTP 서버 설정==
1. <code>/etc/sysconfig/apache2</code> 파일을 편집하여 <code>APACHE_SERVERNAME</code> 옵션을 컨트롤러 노드를 참조하도록 설정합니다:
:<syntaxhighlight lang='text'>
APACHE_SERVERNAME="controller"
</syntaxhighlight>
:<code>APACHE_SERVERNAME</code> 항목이 없으면 추가해야 합니다.
2. 다음 내용으로 /etc/apache2/conf.d/wsgi-keystone.conf 파일을 생성합니다:
:<syntaxhighlight lang='aconf'>
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>
</syntaxhighlight>
3. <code>/etc/keystone</code> 디렉토리의 소유권을 재귀적으로 변경합니다:
:<syntaxhighlight lang='console'>
chown -R keystone:keystone /etc/keystone
</syntaxhighlight>
===SSL===
시큐어한 배포를 위해 웹 서버는 SSL을 사용하도록 설정되거나 SSL 터미네이터 뒤에서 실행되어야 합니다.
==설치 마무리==
==설치 마무리==
1. Apache HTTP 서비스를 시작하고 시스템 부팅 시 자동으로 시작되도록 설정하십시오:
:<syntaxhighlight lang='console'>
# systemctl enable apache2.service
# systemctl start apache2.service
</syntaxhighlight>
2. 적절한 환경변수를 세팅하여 관리자 계정을 설정하십시오:
:<syntaxhighlight lang='bash'>
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
</syntaxhighlight>
:여기에 보이는 값들은 <code>keystone-manage bootstrap</code> 명령어로 생성된 기본 값들입니다.
:<code>ADMIN_PASS</code>를 [[#컴포넌트 설치 및 설정|컴포넌트 설치 및 설정]]의 <code>keystone-manage bootstrap</code> 명령어에 사용된 패스워드로 교체하십시오.

제타위키에서의 모든 기여는 크리에이티브 커먼즈 저작자표시-동일조건변경허락 3.0 라이선스로 배포된다는 점을 유의해 주세요(자세한 내용에 대해서는 제타위키:저작권 문서를 읽어주세요). 만약 여기에 동의하지 않는다면 문서를 저장하지 말아 주세요.
또한, 직접 작성했거나 퍼블릭 도메인과 같은 자유 문서에서 가져왔다는 것을 보증해야 합니다. 저작권이 있는 내용을 허가 없이 저장하지 마세요!

취소 편집 도움말 (새 창에서 열림)

이 문서에서 사용한 틀: