Ubuntu14.04安装OpenStack Juno—keystone

来源:互联网 发布:泳池派对李青 淘宝价格 编辑:程序博客网 时间:2024/05/17 06:03

经过我们前面的准备工作,我们就可以顺利的进行keystone组件的安装。Identity是OpenStack重要的组件之一,各个组件间的认证都是通过keystone。

工具/原料

  • 完成准备工作的服务器

方法/步骤

  1. 1

    我们要确保在我们的数据库中有相应的keystone数据库,如果没有就创建keystone数据库:

    $ mysql -u root -p

    CREATE DATABASE keystone;

    GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' \

    IDENTIFIED BY 'KEYSTONE_DBPASS';

    GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' \

    IDENTIFIED BY 'KEYSTONE_DBPASS';

    Ubuntu14.04安装OpenStack Juno—keystone
  2. 安装keystone组件:

    # apt-get install keystone python-keystoneclient -y

    Ubuntu14.04安装OpenStack Juno—keystone
  3. 安装完成后修改keystone的配置文件,

    # vi /etc/keystone/keystone.conf

    [database]

    connection = mysql://keystone:KEYSTONE_DBPASS@controller/keystone

    [token]

    provider = keystone.token.providers.uuid.Provider

    driver = keystone.token.persistence.backends.sql.Token

    [DEFAULT]

    verbose = True

  4. 修改完成后,使用wq保存退出,然后同步数据库,填充数据库的数据信息。

    # su -s /bin/sh -c "keystone-manage db_sync" keystone

  5. 接下来我们就可以使用以下命令重启keystone服务,让修改好的文件和信息可以正常工作。

    # service keystone restart

    Ubuntu14.04安装OpenStack Juno—keystone
  6. 删除keystone默认的SQLite数据库,

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

    # (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

    Ubuntu14.04安装OpenStack Juno—keystone
  7. 创建tenants, users, 和roles

    $ export OS_SERVICE_TOKEN=ADMIN_TOKEN

    $ export OS_SERVICE_ENDPOINT=http://controller:35357/v2.0

    $ keystone tenant-create --name admin --description "Admin Tenant"

    Ubuntu14.04安装OpenStack Juno—keystone
  8. 创建Users和roles并赋权

    $ keystone user-create --name admin --pass ADMIN_PASS --

    email EMAIL_ADDRESS

    $ keystone role-create --name admin

    $ keystone user-role-add --tenant admin --user admin --role admin

    Ubuntu14.04安装OpenStack Juno—keystone
  9. 并用同样的方式创建 demo用户赋予_member_角色权限:

    $ keystone role-create --name _member_

    $ keystone tenant-create --name demo --description "Demo Tenant"

    $ keystone user-create --name demo --pass DEMO_PASS --

    email EMAIL_ADDRESS

    $ keystone user-role-add --tenant demo --user demo --role _member_

    Ubuntu14.04安装OpenStack Juno—keystone
  10. 创建service tenant和API endpoint

    $ keystone tenant-create --name service --description "Service Tenant"

    $ keystone service-create --name keystone --type identity \

    --description "OpenStack Identity"

    $ keystone endpoint-create \

    --service-id $(keystone service-list | awk '/ identity / {print $2}') \

    --publicurl http://controller:5000/v2.0 \

    --internalurl http://controller:5000/v2.0 \

    --adminurl http://controller:35357/v2.0 \

    --region regionOne

    Ubuntu14.04安装OpenStack Juno—keystone
  11. 最后我们就可以验证以下keystone服务是否安装成功。这里我就列举两个仅作参考之用。

    $ unset OS_SERVICE_TOKEN OS_SERVICE_ENDPOINT

    $ keystone --os-tenant-name admin --os-username admin --os-

    password ADMIN_PASS \

    --os-auth-url http://controller:35357/v2.0 token-get

    $ keystone --os-tenant-name admin --os-username admin --os-

    password ADMIN_PASS \

    --os-auth-url http://controller:35357/v2.0 tenant-list

    Ubuntu14.04安装OpenStack Juno—keystone
    END

注意事项

  • 如果有数据显示就证明我们的keystone服务已经安装成功了,但是OpenStack并不能使用,还需要我们安装其他的组件。