之后退出使用openstack登录 启动memcached
# systemctl enable memcached.service # systemctl start memcached.service
1. keystone配置
编辑/etc/keystone/keystone.conf配置文件
cat /etc/keystone/keystone.conf|grep -v \
[DEFAULT] [assignment] [auth]
[cache] [catalog] [cors]
[cors.subdomain] [credential] [database]
connection = mysql+pymysql://keystone:keystone@controller/keystone [domain_config] [endpoint_filter] [endpoint_policy] [eventlet_server] [federation] [fernet_tokens] provider = fernet [identity]
[identity_mapping] [kvs] [ldap]
[matchmaker_redis] [memcache] [oauth1] [os_inherit]
[oslo_messaging_amqp]
[oslo_messaging_notifications] [oslo_messaging_rabbit] [oslo_messaging_zmq] [oslo_middleware] [oslo_policy] [paste_deploy] [policy] [profiler] [resource] [revoke] [role] [saml]
[security_compliance] [shadow_users] [signing] [token]
[tokenless_auth] [trust]
初始化身份认证服务的数据库
# su -s /bin/sh -c \初始化Fernet keys:
# keystone-manage fernet_setup --keystone-user keystone --keystone-group keystone # keystone-manage credential_setup --keystone-user keystone --keystone-group keystone
引导keystone服务
# keystone-manage bootstrap --bootstrap-password ADMIN_PASS \\ --bootstrap-admin-url http://controller:35357/v3/ \\ --bootstrap-internal-url http://controller:35357/v3/ \\ --bootstrap-public-url http://controller:5000/v3/ \\ --bootstrap-region-id RegionOne
ADMIN_PASS为登录密码和管理员密码(这边为admin) 配置Apache HTTP 服务
编辑/etc/httpd/conf/httpd.conf文件,配置ServerName选项为控制节点 ServerName controller
创建一个/usr/share/keystone/wsgi-keystone.conf连接
# ln -s /usr/share/keystone/wsgi-keystone.conf /etc/httpd/conf.d/ 启动HTTP服务
# systemctl enable httpd.service # systemctl start httpd.service 配置管理账户
$ export OS_USERNAME=admin
$ export OS_PASSWORD=ADMIN_PASS $ export OS_PROJECT_NAME=admin
$ export OS_USER_DOMAIN_NAME=default $ export OS_PROJECT_DOMAIN_NAME=default
$ export OS_AUTH_URL=http://controller:35357/v3 $ export OS_IDENTITY_API_VERSION=3
ADMIN_PASS为管理员密码(这边为admin) 创建服务项目 $ openstack project create --domain default --description \Project\service
创建演示项目
$ openstack project create --domain default --description \
创建demo用户
$ openstack user create --domain default --password-prompt demo
创建用户角色
$ openstack role create user
添加user用户到demo项目和用户中
$ openstack role add --project demo --user demo user 因为安全性的原因,关闭临时认证令牌机制:
编辑 /etc/keystone/keystone-paste.ini 文件,从[pipeline:public_api],
[pipeline:admin_api]和[pipeline:api_v3]部分删除admin_token_auth 。 设置临时os_auth_url和os_password环境变量 $ unset OS_AUTH_URL OS_PASSWORD 作为 admin 用户,请求认证令牌:
$ openstack --os-auth-url http://controller:35357/v3 --os-project-domain-name
default --os-user-domain-name default --os-project-name admin --os-username admin token issue
此命令使用管理用户的密码
作为``demo`` 用户,请求认证令牌:
$ openstack --os-auth-url http://controller:5000/v3 --os-project-domain-name
default --os-user-domain-name default --os-project-name demo --os-username demo token issue
这个命令使用``demo`` 用户的密码和API端口5000,这样只会允许对身份认证服务API的
常规(非管理)访问。
创建脚本
创建 admin 和 ``demo``项目和用户创建客户端环境变量脚本。本指南的接下来的部分会引用这些脚本,为客户端操作加载合适的的凭证。 编辑文件 admin-openrc 并添加如下内容 export OS_PROJECT_DOMAIN_NAME=default export OS_USER_DOMAIN_NAME=default export OS_PROJECT_NAME=admin export OS_USERNAME=admin
export OS_PASSWORD=ADMIN_PASS
export OS_AUTH_URL=http://controller:35357/v3 export OS_IDENTITY_API_VERSION=3 export OS_IMAGE_API_VERSION=2
将 ADMIN_PASS 替换为你在认证服务中为 admin 用户选择的密码。(这边为admin) 编辑文件 demo-openrc 并添加如下内容: export OS_PROJECT_DOMAIN_NAME=default export OS_USER_DOMAIN_NAME=default