环境准备——MySQL的安装
MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可。开发这个分支的原因之一是:甲骨文公司收购了MySQL后,有将MySQL闭源的潜在风险,因此社区采用分支的方式来避开这个风险。MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。
- 安装
|
|
- 常用命令
|
|
- 使用
|
|
Keystone安装
keystone是openstack中验证组件。参考
- 创建数据库并授权
|
|
- 生成一个随机值作为管理员的令牌
|
|
- 安装Keystone包及相关组件
|
|
- 启动Memcached服务,并且配置它随机启动
|
|
编辑文件
\etc\keystone\keystone.conf
,做如下的修改在
[DEFAULT]
修改ADMIN_TOKEN
为刚刚的随机数123[DEFAULT]···admin_token = ADMIN_TOKEN在
[database]
配置数据库访问123[database]...connection = mysql://keystone:KEYSTONE_DBPASS@controller/keystone在
[memcache]
配置Memcached服务123[memcache]...servers = localhost:11211在
[token]
配置 UUID token provider和Memcached驱动1234[token]...provider = uuiddriver = memcache在
[revoke]
部分,配置SQL 回滚驱动:123[revoke]...driver = sql
初始化身份认证服务的数据库
1# su -s /bin/sh -c "keystone-manage db_sync" keystone重启Keystone
1配置
/etc/hosts
文件1ServerIP controller
创建服务实体和API端点
配置环境变量
123$ export OS_TOKEN=ADMIN_TOKEN$ export OS_URL=http://controller:35357/v3$ export OS_IDENTITY_API_VERSION=3创建admin租户、用户、角色
创建admin租户
1keystone tenant-create --name admin --description "Admin Tenant"创建admin用户
1keystone user-create --name admin --pass ADMIN_PASS --email EMAIL_ADDRESS创建admin角色
1keystone role-create --name admin添加admin角色到admin用户和租户
1keystone user-role-add --user admin --tenant admin --role admin
创建Demo租户、用户、角色
创建demo租户
1keystone tenant-create --name demo --description "Demo Tenant"创建demo租户下的用户
1keystone user-create --name demo --tenant demo --pass DEMO_PASS --email EMAIL_ADDRESSPS:至此demod用户完毕注意:在创建demo tenant的同时,demo user,demo role会自动创建
创建service租户
1keystone tenant-create --name service --description "Service Tenant"创建 service entity and API endpoints
1keystone service-create --name keystone --type identity --description "OpenStack Identity"创建API endpoints
123456keystone 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验证操作
admin租户获取token
12keystone --os-tenant-name admin --os-username admin --os-password ADMIN_PASS \--os-auth-url http://controller:35357/v2.0 token-get列出租户(tenant)
12keystone --os-tenant-name admin --os-username admin --os-password ADMIN_PASS \--os-auth-url http://controller:35357/v2.0 tenant-list列出用户(user)
12keystone --os-tenant-name admin --os-username admin --os-password ADMIN_PASS \--os-auth-url http://controller:35357/v2.0 user-list列出角色(role)
12keystone --os-tenant-name admin --os-username admin --os-password ADMIN_PASS \--os-auth-url http://controller:35357/v2.0 role-listdemo 租户获取令牌token
12keystone --os-tenant-name demo --os-username demo --os-password DEMO_PASS \--os-auth-url http://controller:35357/v2.0 token-getdemo用户无权查看user,会报错误如下:
123keystone --os-tenant-name demo --os-username demo --os-password DEMO_PASS \--os-auth-url http://controller:35357/v2.0 user-listYou are not authorized to perform the requested action: admin_required (HTTP 403)
创建 OpenStack 客户端环境脚本
创建admin环境变量, 编辑
admin-openrc.sh
1234export OS_TENANT_NAME=adminexport OS_USERNAME=adminexport OS_PASSWORD=ADMIN_PASSexport OS_AUTH_URL=http://controller:35357/v2.0创建demo环境变量, 编辑
demo-openrc.sh
1234export OS_TENANT_NAME=demoexport OS_USERNAME=demoexport OS_PASSWORD=DEMO_PASSexport OS_AUTH_URL=http://controller:5000/v2.0脚本的使用
12source admin-openrc.shsource demo-openrc.sh