Bagian ini menjelaskan cara menginstal dan mengkonfigurasi layanan OpenStack Identity, code-named keystone, pada controller node. Untuk tujuan skalabilitas, konfigurasi ini mengerahkan Fernet token dan server Apache HTTP untuk menangani permintaan.
Sebelum kamu melakukan konfigurasi layanan Identity OpenStack, kamu harus membuat sebuah database dan sebuah token administrasi
Untuk membuat database, selesaikan tindakan berikut:
Gunakan klien akses database untuk menghubungkan ke server database sebagai root
user:
$ mysql -u root -p
Buat database keystone
:
mysql> CREATE DATABASE keystone;
Berikan akses yang tepat untuk database 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';
Ganti KEYSTONE_DBPASS
dengan password yang sesuai.
Keluar dari klien akses database.
Catatan
file konfigurasi default bervariasi oleh distribusi. Anda mungkin perlu menambahkan bagian ini dan pilihan daripada memodifikasi bagian dan pilihan yang ada. Juga, elipsis (`` ... ``) dalam cuplikan konfigurasi menunjukkan opsi konfigurasi default potensial yang harus Anda mempertahankan.
Catatan
Panduan ini menggunakan server Apache HTTP dengan mod_wsgi
untuk melayani permintaan layanan Identity pada port 5000 dan 35357. Secara default, layanan keystone masih mendengarkan pada port ini. Oleh karena itu, panduan ini secara manual menonaktifkan layanan keystone.
Jalankan langkah berikut untuk melakukan instalasi paket-paket:
# zypper install openstack-keystone apache2-mod_wsgi
Edit file /etc/keystone/keystone.conf
dan selesaikan tindakan berikut:
Dalam bagian `` [Database] ``, konfigurasi akses database:
[database]
...
connection = mysql+pymysql://keystone:KEYSTONE_DBPASS@controller/keystone
Ganti KEYSTONE_DBPASS
dengan password yang Anda pilih untuk database.
Catatan
Comment out (hapus komen) atau menghapus opsi connection
lainnya dalam bagian [database]
.
Dalam bagian `` tanda] ``, lakukan konfigurasi provider Fernet token:
[token]
...
provider = fernet
Mengisi database layanan Identity:
# su -s /bin/sh -c "keystone-manage db_sync" keystone
Menginisialisasi repositori kunci Fernet:
# keystone-manage fernet_setup --keystone-user keystone --keystone-group keystone
# keystone-manage credential_setup --keystone-user keystone --keystone-group keystone
Bootstrap layanan 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
Ganti ADMIN_PASS
dengan password yang cocok untuk pengguna administratif.
Edit file /etc/sysconfig/apache2
dan lakukan konfigurasi opsi APACHE_SERVERNAME
mereferensi controller node:
APACHE_SERVERNAME="controller"
Buat file /etc/apache2/conf.d/wsgi-keystone.conf
dengan isi sebagai berikut:
Listen 5000
Listen 35357
<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>
<VirtualHost *:35357>
WSGIDaemonProcess keystone-admin processes=5 threads=1 user=keystone group=keystone display-name=%{GROUP}
WSGIProcessGroup keystone-admin
WSGIScriptAlias / /usr/bin/keystone-wsgi-admin
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>
Ubahlah secara rekursif kepemilikan directory /etc/keystone
:
# chown -R keystone:keystone /etc/keystone
Mulailah layanan Apache HTTP dan mengkonfigurasinya untuk memulai booting:
# systemctl enable apache2.service
# systemctl start apache2.service
Mengkonfigurasi akun administratif
$ 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
Ganti ADMIN_PASS
dengan sandi yang digunakan dalam perintah keystone-manage bootstrap
dari bagian yang disebut Instalasi dan konfigurasi.
Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.