Ubuntu14.04安装OpenStack Juno—keystone

xiaoxiao2021-02-28  84

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

工具/原料

完成准备工作的服务器

方法/步骤

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';

安装keystone组件:

# apt-get install keystone python-keystoneclient -y

安装完成后修改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

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

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

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

# service keystone restart

删除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

创建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"

创建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

并用同样的方式创建 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_

创建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

最后我们就可以验证以下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

END

注意事项

如果有数据显示就证明我们的keystone服务已经安装成功了,但是OpenStack并不能使用,还需要我们安装其他的组件。
转载请注明原文地址: https://www.6miu.com/read-59126.html

最新回复(0)