Keystone 서비스는 컨트롤러 노드에서 설치 및 구성해야 합니다.
샘플 스크립트 /usr/demo/openstack/keystone/sample_data.sh를 사용하면 Keystone 데이터베이스를 신속하게 채울 수 있습니다. 이 스크립트는 다음과 같은 초기 테넌트를 만듭니다.
service - OpenStack 서비스마다 Keystone 사용자를 만듭니다.
demo - 기본 암호를 사용하는 사용자 admin을 만듭니다.
또한 이 스크립트는 각 API 서비스가 상주하는 노드와 각 서비스에 대한 암호를 정의하는 환경 변수도 설정합니다. 기본적으로 service 테넌트에 대한 서비스마다 서비스 이름, 사용자 이름 및 암호가 동일합니다. 예를 들어 Nova 서비스의 경우, 사용자 nova 사용자를 만들며 암호로 nova를 사용합니다.
스크립트를 실행하기 전에 변수를 변경하여 서비스 사용자 이름과 해당 암호 및 초기 테넌트의 이름을 사용자 정의할 수 있습니다. 스크립트에서 환경에 대해 설정할 수 있는 매개변수에 대한 자세한 내용을 검토해야 합니다.
controller# pkg install keystone
공유 토큰은 임의의 문자열로 구성됩니다.
controller# openssl rand -hex 10 token-string
controller# export SERVICE_TOKEN=token-string
구성은 다음 예와 유사해야 합니다.
[DEFAULT] admin_token = token-string qpid_hostname=$CONTROLLER_ADMIN_NODE rabbit_host=$CONTROLLER_ADMIN_NODE ... [database] connection = mysql://keystone:service-password@$CONTROLLER_ADMIN_NODE/keystone
controller# svcadm enable keystone
controller# su - keystone -c "keystone-manage pki_setup"
샘플 스크립트를 사용하려면 다음 명령을 실행합니다.
controller# CONTROLLER_PUBLIC_ADDRESS=$CONTROLLER_ADMIN_NODE \ CONTROLLER_ADMIN_ADDRESS=$CONTROLLER_ADMIN_NODE \ CONTROLLER_INTERNAL_ADDRESS=$CONTROLLER_ADMIN_NODE \ SERVICE_TOKEN=token-string \ /usr/demo/openstack/keystone/sample_data.sh