Keystone 서비스는 컨트롤러 노드에서 설치 및 구성해야 합니다.
controller# pkg install keystone
/etc/keystone/keystone.conf 파일에서 다음 두 매개변수의 주석 처리를 해제하고 해당 매개변수를 설정합니다.
admin_token 매개변수는 Keystone 서비스와 기타 OpenStack 서비스 간의 "공유 보안"입니다. 이 매개변수의 값은 모든 문자열일 수 있지만 이 값은 표시되거나 배포되지 않아야 합니다. 해당 문자열을 만드는 방법 중 하나는 다음 명령과 같이 OpenSSL을 사용하는 것입니다.
controller# openssl rand -hex 10 random_string
이 출력 값을 사용하여 /etc/keystone/keystone.conf 파일에서 admin_token 매개변수를 설정합니다.
admin_token = random_string
connection 매개변수는 Keystone 데이터베이스의 위치와 사용되는 데이터베이스의 종류를 나타내는 URI입니다.
이전 getent hosts 명령으로 출력된 controller-name을 사용하여 /etc/keystone/keystone.conf 파일에서 connection 매개변수를 설정합니다.
connection = mysql://keystone:keystone@controller-name/keystone
controller# su - keystone -c "keystone-manage pki_setup"
controller# svcadm enable keystone
이 단계는 수동으로 완료할 수도 있고, 다음 예와 같이 sample_data.sh 스크립트를 사용할 수도 있습니다. 이전 getent hosts 명령으로 출력된 controller-name을 사용합니다.
controller# su - keystone -c "env \ CONTROLLER_ADMIN_ADDRESS=controller-name \ CONTROLLER_INTERNAL_ADDRESS=controller-name \ CONTROLLER_PUBLIC_ADDRESS=controller-name \ /usr/demo/openstack/keystone/sample_data.sh"
sample_data.sh 스크립트는 각 API 서비스가 상주하는 노드와 각 서비스에 대한 암호를 정의하는 환경 변수를 지원합니다. 스크립트에서 환경으로부터 설정할 수 있는 매개변수에 대한 자세한 내용을 검토합니다. 기본적으로 service 테넌트에 속하는 각 서비스에 대해 Keystone 사용자가 만들어지며 사용자 이름과 동일한 암호가 지정됩니다. 예를 들어, nova 사용자가 만들어지는 경우 암호는 nova입니다.