Keystone 설치 및 설정 (Ubuntu) 편집하기

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

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

최신판 당신의 편집
1번째 줄: 1번째 줄:
==개요==
==개요==
{{작성중}}
[[분류: keystone]]
[[분류: keystone]]
;Install and configure
;Install and configure
;설치 및 설정
;설치 및 설정
https://docs.openstack.org/keystone/2024.1/install/keystone-install-ubuntu.html
https://docs.openstack.org/keystone/2024.1/install/index-ubuntu.html
----
----
이 섹션에서는 컨트롤러 노드에 OpenStack Identity 서비스(코드명: keystone)를 설치하고 설정하는 방법을 설명합니다. 확장성을 위해 이 설정은 Fernet 토큰과 요청을 처리하는 Apache HTTP 서버를 배포합니다.
이 섹션에서는 컨트롤러 노드에 OpenStack Identity 서비스(코드명: keystone)를 설치하고 설정하는 방법을 설명합니다. 확장성을 위해 이 설정은 Fernet 토큰과 요청을 처리하는 Apache HTTP 서버를 배포합니다.
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}}
이 가이드는 포트 5000에서 Identity 서비스 요청을 처리하기 위해 Apache HTTP 서버와 <code>mod_wsgi</code>를 사용합니다. 기본적으로 keystone 서비스는 여전히 이 포트에서 수신 대기합니다. 패키지는 Apache 설정 (<code>mod_wsgi</code> apache2 모듈 활성화 및 Apache에서 keystone 설정 포함)을 모두 처리합니다.
{{/NOTE}}
1. 다음 명령어를 실행하여 패키지를 설치합니다:
:<syntaxhighlight lang='console'>
# apt install keystone
</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}}<code>[database]</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을 실행할 운영체제의 사용자/그룹을 지정하는 데 사용됩니다. 예제에서는 사용자 및 그룹을 <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가 별도의 관리자 전용 서비스로 포트 35357에서 실행되었기 때문에 keystone을 두 개의 별도 포트에서 실행해야 했습니다. 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/apache2/apache2.conf</code> 파일을 편집하여 <code>ServerName</code> 옵션을 컨트롤러 노드를 참조하도록 설정합니다:
:<syntaxhighlight lang='text'>
ServerName controller
</syntaxhighlight>
:<code>ServerName</code> 항목이 없으면 추가해야 합니다.
===SSL===
시큐어한 배포를 위해 웹 서버는 SSL을 사용하도록 설정되거나 SSL 터미네이터 뒤에서 실행되어야 합니다.
==설치 마무리==
==설치 마무리==
1. Apache 서비스를 재시작하십시오:
:<syntaxhighlight lang='console'>
# service apache2 restart
</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 라이선스로 배포된다는 점을 유의해 주세요(자세한 내용에 대해서는 제타위키:저작권 문서를 읽어주세요). 만약 여기에 동의하지 않는다면 문서를 저장하지 말아 주세요.
또한, 직접 작성했거나 퍼블릭 도메인과 같은 자유 문서에서 가져왔다는 것을 보증해야 합니다. 저작권이 있는 내용을 허가 없이 저장하지 마세요!

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

이 문서에서 사용한 틀: