GNU/Linux >> Linux Esercitazione >  >> Ubuntu

OpenStack Kilo su Ubuntu 14.04.2 – Configura KeyStone #1

Keystone è il servizio di identità di OpenStack, fornisce la funzionalità di tracciamento degli utenti e delle loro autorizzazioni; funzioni di catalogo tramite gli endpoint API. In realtà non fornisce alcuna funzione di gestione degli utenti, ma fornisce interfacce plug-in per scegliere tra il servizio di autenticazione corrente o i servizi di identità di terze parti disponibili sul mercato.

Prima di andare avanti, dai un'occhiata al nostro design dell'infrastruttura nell'articolo precedente.

Questa guida mostra come installare e configurare il servizio OpenStack Identity, keystone con nome in codice, sul nodo controller.

Prerequisiti:

Prima di installare il servizio di identità OpenStack, è necessario creare un database e un token di amministrazione.

# mysql -u root -p

creare il database keystone.

CREATE DATABASE keystone;

Imposta l'accesso corretto al database keystone.

GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' IDENTIFIED BY 'PASSWD';
GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' IDENTIFIED BY 'PASSWD';

Sostituisci PASSWD con una password adatta.

Genera un valore casuale e che può essere utilizzato come token di amministrazione per la configurazione iniziale.

# openssl rand -hex 10

Installa e configura KeyStone:

Disattiva il servizio keystone dall'avvio automatico dopo l'installazione.

# echo "manual" > /etc/init/keystone.override

* In Kilo, il server HTTP Apache viene utilizzato per servire le richieste keystone sulle porte 5000 e 35357 con l'aiuto di mod_wsgi invece di Eventlet, che è deprezzato in questa versione OpenStack.

Installa keystone.

# apt-get install keystone python-openstackclient apache2 libapache2-mod-wsgi memcached python-memcache

Modifica il file di configurazione keystone.

# nano /etc/keystone/keystone.conf

Inserisci le seguenti voci nella sezione appropriata del file sopra.

[DEFAULT]
...
admin_token = 43405b090eda983ddde2 ## Replace 43405b090eda983ddde2 with a random that you generated earlier
verbose = True

[database]
...
connection = mysql://keystone:PASSWD@controller/keystone  ## Replace PASSWD with your KeyStone DB password
[memcache]
...
servers = localhost:11211
[token]
...
provider = keystone.token.providers.uuid.Provider
driver = keystone.token.persistence.backends.memcache.Token
[revoke]
...
driver = keystone.contrib.revoke.backends.sql.Revoke

Eseguire il comando seguente per popolare il database del servizio di identità.

# keystone-manage db_sync

Configura il server HTTP Apache:

Modifica /etc/apache2/apache2.conf e configura l'opzione ServerName per fare riferimento al nodo del controller.

ServerName controller

Crea il file sottostante.

# nano /etc/apache2/sites-enabled/wsgi-keystone.conf

Incolla il seguente contenuto nel file sopra.

Listen 5000
Listen 35357

<VirtualHost *:5000>
    WSGIDaemonProcess keystone-public processes=5 threads=1 user=keystone display-name=%{GROUP}
    WSGIProcessGroup keystone-public
    WSGIScriptAlias / /var/www/cgi-bin/keystone/main
    WSGIApplicationGroup %{GLOBAL}
    WSGIPassAuthorization On
    <IfVersion >= 2.4>
      ErrorLogFormat "%{cu}t %M"
    </IfVersion>
    LogLevel info
    ErrorLog /var/log/apache2/keystone-error.log
    CustomLog /var/log/apache2/keystone-access.log combined
</VirtualHost>

<VirtualHost *:35357>
    WSGIDaemonProcess keystone-admin processes=5 threads=1 user=keystone display-name=%{GROUP}
    WSGIProcessGroup keystone-admin
    WSGIScriptAlias / /var/www/cgi-bin/keystone/admin
    WSGIApplicationGroup %{GLOBAL}
    WSGIPassAuthorization On
    <IfVersion >= 2.4>
      ErrorLogFormat "%{cu}t %M"
    </IfVersion>
    LogLevel info
    ErrorLog /var/log/apache2/keystone-error.log
    CustomLog /var/log/apache2/keystone-access.log combined
</VirtualHost>

Crea la directory per i componenti WSGI.

# mkdir -p /var/www/cgi-bin/keystone

Esegui il comando seguente per scaricare i componenti WSGI dal repository upstream.

# curl http://git.openstack.org/cgit/openstack/keystone/plain/httpd/keystone.py?h=stable/kilo | tee /var/www/cgi-bin/keystone/main /var/www/cgi-bin/keystone/admin

Modifica proprietà e autorizzazioni.

# chown -R keystone:keystone /var/www/cgi-bin/keystone
# chmod 755 /var/www/cgi-bin/keystone/*

Riavvia il servizio Apache.

# service apache2 restart

Rimuovi il database SQLite poiché stiamo usando il database MySQL.

# rm -f /var/lib/keystone/keystone.db

Successivamente è creare l'entità del servizio e gli endpoint API.


Ubuntu
  1. OpenStack Liberty su Ubuntu 14.04 LTS – Configura Nova

  2. OpenStack Kilo su Ubuntu 14.04.2 – Configura Neutron #1

  3. OpenStack Kilo su Ubuntu 14.04.2 – Configura Nova

  4. OpenStack Kilo su Ubuntu 14.04.2 – Configura Sguardo

  5. OpenStack Kilo su Ubuntu 14.04.2 – Configura KeyStone #2

OpenStack Kilo su Ubuntu 14.04.2 – Configura Neutron #2

OpenStack Liberty su Ubuntu 14.04 – Configura Neutron

OpenStack Liberty su Ubuntu 14.04 LTS – Configura Sguardo

OpenStack Liberty su Ubuntu 14.04 LTS – Configura KeyStone #2

OpenStack Liberty su Ubuntu 14.04 LTS – Configura KeyStone #1

OpenStack Liberty su Ubuntu 14.04 – Configura Neutron #2