설치와 설정

설치와 설정

이 섹션은 keystone 이라는 코드 이름을 가진 OpenStack Identity 서비스를 컨트롤러 노드에 설치하고 구성하는 방법을 설명합니다. 확장성 목적을 위해 해당 구성에서는 요청을 다루기 위한 Fernet 토큰 및 Apache HTTP 서버를 배포합니다.

선행조건

오픈스택 Identity 서비스를 설정하기 전에, 데이터베이스와 관리 토큰을 생성하여야합니다.

  1. 데이터베이스를 생성하기 위해 다음 과정을 완료합니다:

    • 데이터베이스 액세스 클라이언트를 사용하여 데이터베이스 서버에 root 사용자로 연결합니다:

      $ mysql -u root -p
      
    • keystone 데이터베이스를 생성합니다:

      mysql> CREATE DATABASE keystone;
      
    • keystone 데이터베이스에 적합한 액세스를 부여합니다:

      mysql> GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' \
        IDENTIFIED BY 'KEYSTONE_DBPASS';
      mysql> GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' \
        IDENTIFIED BY 'KEYSTONE_DBPASS';
      

      KEYSTONE_DBPASS 를 적절한 암호로 변경합니다.

    • 데이터베이스 접속 클라이언트를 종료합니다.

구성요소 설치 및 구성

주석

디폴트 구성 파일을 배포판에 따라 달라집니다. 기존 섹션 및 옵션을 변경하는 것 보다는 해당 섹션과 옵션을 추가해야 할 수도 있습니다. 또한 구성 내용 조각 중 생략 (...) 부분은 유지될 필요성이 있는 디폴트 구성 옵션을 가리킵니다.

주석

이 가이드는 Apache HTTP 서버를 mod_wsgi 와 함께 사용하여 포트 5000 및 35357에서 Identity 서비스 요청을 처리합니다. 기본으로 keystone 서비스는 해당 포트에 대해 계속 listen 상태로 있습니다. 해당 패키지는 (mod_wsgi apache 모듈 및 Apache 내 keystone 구성을 포함하는) 모든 필요한 Apache 구성을 다룹니다.

  1. 패키지들을 설치하기 위해 다음 명령어를 실행합니다:

    # apt install keystone
    
  1. /etc/keystone/keystone.conf 파일을 편집하여 다음 작업을 완료합니다:

    • [database] 섹션에서, 데이터베이스 액세스를 구성합니다:

      [database]
      ...
      connection = mysql+pymysql://keystone:KEYSTONE_DBPASS@controller/keystone
      

      KEYSTONE_DBPASS 를 데이터베이스에 대해 선택한 암호로 변경합니다.

      주석

      [database] 섹션 내 다른 connection 옵션들을 주석 처리 또는 제거합니다.

    • [token] 섹션에는 Fernet 토큰 제공자를 구성합니다:

      [token]
      ...
      provider = fernet
      
  2. Identity 서비스 데이터베이스를 넣어줍니다:

    # su -s /bin/sh -c "keystone-manage db_sync" keystone
    
  3. Fernet 키 저장소를 초기화합니다:

    # keystone-manage fernet_setup --keystone-user keystone --keystone-group keystone
    # keystone-manage credential_setup --keystone-user keystone --keystone-group keystone
    
  4. Identity 서비스를 부트스트래핑합니다:

    # keystone-manage bootstrap --bootstrap-password ADMIN_PASS \
      --bootstrap-admin-url http://controller:35357/v3/ \
      --bootstrap-internal-url http://controller:35357/v3/ \
      --bootstrap-public-url http://controller:5000/v3/ \
      --bootstrap-region-id RegionOne
    

    ``ADMIN_PASS `` 를 관리 권한이 있는 사용자에 대해 적절한 암호로 변경합니다.

Apache HTTP 서버 구성

  1. /etc/apache2/apache2.conf 파일을 편집하여 ServerName 옵션이 컨트롤러 노드를 가리키도록 구성합니다:

    ServerName controller
    

주석

Debian 패키지는 아래 작업을 수행할 것입니다:

# a2enmod wsgi
# a2ensite wsgi-keystone.conf
# invoke-rc.d apache2 restart

설치 마무리

  1. 관리 계정을 구성합니다

    $ 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:35357/v3
    $ export OS_IDENTITY_API_VERSION=3
    

    ADMIN_PASS설치와 설정 섹션 내 keystone-manage bootstrap 명령어에서 사용되는 암호로 변경합니다.

Creative Commons Attribution 3.0 License

Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.