Keystone - Identity asennus
controller.foo.bar
1. Asennetaan Keystone.
# apt-get install keystone
2. Luodaan satunnaisjono ADMIN TOKENia varten.
# openssl rand -hex 10 2729cf0a13bb8b70a263
3. Muokataan /etc/keystone/keystone.conf -tiedostoa.
[DEFAULT] ... admin_token = 2729cf0a13bb8b70a263 [database] ... connection = mysql://keystone:keystonedb@10.0.0.11/keystone [revoke] ... driver=keystone.contrib.revoke.backends.sql.Revoke [token] ... provider=keystone.token.providers.uuid.Provider driver=keystone.token.backends.sql.Token
4. Synkronoidaan Keystone-tietokanta ja uudelleenkäynnistetään Keystone.
# keystone-manage db_sync # service keystone restart
5. Keystone säilöö suuren määrän tokeneita tietokantaan, joten luodaan cronjob siistimään tietokanta tokeneista.
# crontab -l -u keystone 2>&1 | grep -q token_flush) || \ echo '@hourly /usr/bin/keystone-manage token_flush >/var/log/keystone/keystone-tokenflush.log 2>&1' \ >> /var/spool/cron/crontabs/keystone
6. Asetetaan OS_SERVICE_TOKEN ja OS_SERVICE_ENDPOINT ympäristömuuttujat ja luodaan admin- ja demo-tunnukset.
OS_SERVICE_TOKEN on sama kuin aiemmin keystone.conf -tiedostoon määritelty admin_token.
# export OS_SERVICE_TOKEN=2729cf0a13bb8b70a263 # export OS_SERVICE_ENDPOINT=http://10.0.0.11:35357/v2.0 # keystone tenant-create --name admin --description "Admin Tenant" +-------------+----------------------------------+ | Property | Value | +-------------+----------------------------------+ | description | OpenStack Identity | | enabled | True | | id | c53526fbf578434c8c243a9f5e6b10f6 | | name | keystone | | type | identity | +-------------+----------------------------------+
7. Luodaan admin-tunnus. Sähköpostiosoite on valinnainen asetus.
# keystone user-create --name admin --pass admin --email root@localhost +----------+----------------------------------+ | Property | Value | +----------+----------------------------------+ | email | root@localhost | | enabled | True | | id | e691284a715b475fb22082aefc0fd29b | | name | admin | | username | admin | +----------+----------------------------------+
8. Luodaan admin-rooli.
# keystone role-create --name admin +----------+----------------------------------+ | Property | Value | +----------+----------------------------------+ | id | dfdf887281394b74ba5dbe0f47838339 | | name | admin | +----------+----------------------------------+
9. Lisätään admin-tunnukselle admin-rooli ja lisätään tunnus admin tenant-ryhmään.
# keystone user-role-add --user admin --tenant admin --role admin (Tämä komento ei tulosta mitään)
10. Luodaan demo-tenant.
# keystone tenant-create --name demo --description "Demo Tenant" +-------------+----------------------------------+ | Property | Value | +-------------+----------------------------------+ | description | Demo Tenant | | enabled | True | | id | cdf4dc3b5c024370baadce45cccf37d7 | | name | demo | +-------------+----------------------------------+
11. Luodaan demo-tunnus.
# keystone user-create --name demo --tenant demo --pass demo +----------+----------------------------------+ | Property | Value | +----------+----------------------------------+ | email | | | enabled | True | | id | 3fddd3b1790a4cf1b459b6d3e94afe7a | | name | demo | | tenantId | 8e5fb3fc3c1f4c1fbfccdb68dc86e9ce | | username | demo | +----------+----------------------------------+
12. Luodaan service-tenant.
# keystone tenant-create --name service --description "Service Tenant" +-------------+----------------------------------+ | Property | Value | +-------------+----------------------------------+ | description | Service Tenant | | enabled | True | | id | 90100eee41594ab0a05ce5d5157650ef | | name | service | +-------------+----------------------------------+
13. Luodaan Keystone identity-service. Keystone service palvelee Openstackin muita palveluita ylläpitämällä ja tarjoamalla tietoa olemassa olevista serviceistä.
# keystone service-create --name keystone --type identity --description "OpenStack Identity" +-------------+----------------------------------+ | Property | Value | +-------------+----------------------------------+ | description | OpenStack Identity | | enabled | True | | id | fecd56e6c5764cada57f6931b0cf6d43 | | name | keystone | | type | identity | +-------------+----------------------------------+
Endpoint määrittelee osoitteet, joiden avulla Openstackin muut servicet ja käyttäjät kommunikoivat Keystonen kanssa. Admin-rajapinta sallii mm. käyttäjien muokkaamisen. Public-rajapinnan kautta käyttäjät voivat hallita pilvipalveluitaan esim. internetin kautta. Internal-rajapinta on Openstackin sisäisen liikenteen käyttöön, mutta tässä esimerkissä public- ja internal-rajapinta sijaitsevat samassa management-verkossa.
14. Luodaan endpoint Keystonelle.
# keystone endpoint-create --service-id $(keystone service-list | awk '/ identity / {print $2}') \ --publicurl http://10.0.0.11:5000/v2.0 --internalurl http://10.0.0.11:5000/v2.0 \ --adminurl http://10.0.0.11:35357/v2.0 --region regionOne +-------------+----------------------------------+ | Property | Value | +-------------+----------------------------------+ | adminurl | http://10.0.0.11:35357/v2.0 | | id | 528dfc4e0349440a8cd0124399f9b99b | | internalurl | http://10.0.0.11:5000/v2.0 | | publicurl | http://10.0.0.11:5000/v2.0 | | region | regionOne | | service_id | fecd56e6c5764cada57f6931b0cf6d43 | +-------------+----------------------------------+
15. Poistetaan OS_SERVICE_TOKEN ja OS_SERVICE_ENDPOINT -ympäristömuuttujat, ja testataan admin-tunnuksen toiminta.
# unset OS_SERVICE_TOKEN OS_SERVICE_ENDPOINT # keystone --os-tenant-name admin --os-username admin --os-password admin \ --os-auth-url http://10.0.0.11:35357/v2.0 token-get +-----------+----------------------------------+ | Property | Value | +-----------+----------------------------------+ | expires | 2016-10-06T07:09:03Z | | id | 9a782572b6864b64ae2d45ea9a1538f8 | | tenant_id | c53526fbf578434c8c243a9f5e6b10f6 | | user_id | e691284a715b475fb22082aefc0fd29b | +-----------+----------------------------------+
16. Haetaan tunnusten tiedot.
# keystone --os-tenant-name admin --os-username admin --os-password admin \ --os-auth-url http://10.0.0.11:35357/v2.0 user-list +----------------------------------+---------+---------+----------------+ | id | name | enabled | email | +----------------------------------+---------+---------+----------------+ | e691284a715b475fb22082aefc0fd29b | admin | True | root@localhost | | cdf4dc3b5c024370baadce45cccf37d7 | demo | True | | +----------------------------------+---------+---------+----------------+
17. Listataan tunnusten roolit.
# keystone --os-tenant-name admin --os-username admin --os-password admin \ --os-auth-url http://10.0.0.11:35357/v2.0 role-list +----------------------------------+----------+ | id | name | +----------------------------------+----------+ | 9fe2ff9ee4384b1894a90878d3e92bab | _member_ | | f276a7ee361843a69e07a6cf58e51831 | admin | +----------------------------------+----------+
18. Luodaan adminrc.sh- ja demorc.sh-tiedostot ympäristömuuttujia varten.
# vi adminrc.shexport OS_TENANT_NAME=admin export OS_USERNAME=admin export OS_PASSWORD=admin export OS_AUTH_URL=http://10.0.0.11:35357/v2.0# vi demorc.shexport OS_TENANT_NAME=demo export OS_USERNAME=demo export OS_PASSWORD=demo export OS_AUTH_URL=http://10.0.0.11:5000/v2.0