openstack认证服务Keystone 介绍(二)

openstack认证服务Keystone 介绍

Keystone作用: 
1.用户与认证:用户权限与用户行为跟踪; 
2.服务目录:提供一个服务目录,包括所有服务项和相关Api的断点 
3.SOA相关知识

Keystone主要两大功能用户认证 服务目录(相当于一个注册中心

用户认证几大名词介绍

User:用户 
 它是用一个数字代表使用openstack云服务的一个人、系统、或服务。身份验证服务将会验证传入的由用户声明将调用的请求 
 一个租户可以有多个用户 
 一个用户可以属于一个或多个租户 
 用户对租户和操作权限由用户在租户中承担的角色来决定。

Project:项目 
 它是各个服务中的一些可以访问的资源集合或者说叫资源组。它是一个容器,用于组织隔离资源,或标识对象。

Token:令牌

Role:角色 
代表一组用户可以访问的资源权限,例如Nova中的虚拟机、Glance中的镜像

服务目录两大名词介绍

Service:服务 
Service即服务,如Nova、Glance、Swift。根据前三个概念(User,Tenant和Role)一个服务可以确认当前用户是否具有访问其资源的权限。但是当一个user尝试着访问其租户内的service时,他必须知道这个service是否存在以及如何访问这个service。

Endpoint:端点 
Endpoint翻译为“端点”,我们可以理解它是一个服务暴露出来的访问点,如果需要访问一个服务,则必须知道他的endpoint。Endpoint的每个URL都对应一个服务实例的访问地址,并且具有public、orivate和admin这三种权限。pubic url可以完全被全局访问,private url只能被局域网访问,admin url被从常规的访问中分离。

安装KeyStone

安装Openstack验证服务KeyStone

 
  1. [root@linux-node1 ~]# yum install -y openstack-keystone httpd mod_wsgi memcached python-memcached

提示: wsgi是python一个cgi的接口(keystone需要使用httpd来运行)

注意! 
编辑文件/etc/keystone/keystone.conf,我们管理keystone只需要修改keystone的配置文件即可 
在配置文件里面以[xxx]里面的内容叫做配置栏目(类似于mysql配置文件[mysqld]下面)

[DEFAULT]部分,定义初始管理令牌的值: 
我们使用openssl生成一个随机值

 
  1. [root@linux-node1 ~]# openssl rand -hex 10
  2. 1b0abfc7e9a314a0fd7f
  3. [root@linux-node1 ~]# vim /etc/keystone/keystone.conf
  4. [DEFAULT]
  5. admin_token = 1b0abfc7e9a314a0fd7f

 keystone默认没有用户,需要进行创建用户。这样我们在配置文件中加入admin_token,在没有用户的情况下可以使用admin_token进行访问。还可以设置不用用户名和密码。简单来说admin_token就是初始化时候超级管理员的用户

[database]部分,配置数据库访问:

 
  1. [database]
  2. connection = mysql+pymysql://keystone:keystone@192.168.56.11/keystone

用户名:密码:数据库地址:数据库名称 
因为我们需要将用户密码保存到数据库中,所以我们要配置数据库

配置Fernet UUID令牌的提供者 
提供令牌有四种方式[fernet|pkiz|pki|uuid]默认是uuid

 
  1. [token]
  2. provider = fernet
  3. driver = memcache

默认是存储在sql中,我们需要将它修改为memcache

提示:关于为什么选择fernet我们可以参考下方文章

Keystone几种token生成的方式分析 
http://blog.csdn.net/miss_yang_cloud/article/details/49633719

配置memcached

 
  1. [memcache]
  2. servers = 192.168.56.11:11211

提示:官方默认是localhost,但是如果是正式生产环境可能在另一台服务器上

总结keystone有以下配置

 
  1. [root@linux-node1 ~]# grep '^[a-Z]' /etc/keystone/keystone.conf
  2. [DEFAULT]
  3. admin_token = 1b0abfc7e9a314a0fd7f
  4. [database]
  5. connection = mysql +pymysql
  6. ://keystone:keystone@192.168.56.11/keystone
  7. [memcached]
  8. servers = 192.168.56.11:11211
  9. [token]
  10. provider = fernet
  11. driver = memcache

初始化数据库

 
  1. [root@linux-node1 ~]# su -s /bin/sh -c "keystone-manage db_sync" keystone

会自动找到keystone配置文件里的mysql连接,来帮我们创建数据库中的

问题:我们为什么要使用keystone用户去同步数据库呢? 
 因为同步数据库会在/var/log/keystone去写一个日志,如果使用root权限,keystone启动时会读取这个日志,那么将无法进行读取出现启动错误的情况

检查表是否创建成功

 
  1. [root@linux-node1 ~]# mysql -h 192.168.56.11 -ukeystone -pkeystone -e "use keystone;show tables;"

温馨提示:如果查看表的时候发现没有,那么我们就应该排查/var/log/keystone.log 在群里问问题必须自己先看了没有问题在进行提问

初始化Fernet keys; 
创建相关的证书

 
  1. [root@linux-node1 ~]# keystone-manage fernet_setup --keystone-user keystone --keystone-group keystone

执行完命令之后会在/etc/keystone下生成fernet-keys目录,它的权限是keystone里面存放这一些相关证书

提示:我们要注意/etc/keystone/keystone.conf文件的权限

启动memcached并设置开启激动

 
  1. [root@linux-node1 ~]# systemctl start memcached.service
  2. [root@linux-node1 ~]# systemctl enable memcached.service
  3. Created symlink from /etc/systemd/system/multi-user.target.wants/memcached.service to /usr/lib/systemd/system/memcached.service.

检查 
我们需要检查是否有11211 memcached的端口

image_1b27dplmpth2tka1iubui4ma99.png-81kB

查看配置文件

 
  1. [root@linux-node1 ~]# cat /etc/sysconfig/memcached
  2. PORT="11211" #端口号
  3. USER="memcached" #用户
  4. MAXCONN="1024" #最大连接数
  5. CACHESIZE="64" #大小64兆
  6. OPTIONS=""

配置Http 
因为我们当时是安装了一个连接httpd用的一个api,简单的来说我们要通过apache来启动keystone

配置/etc/httpd/conf/httpd.conf文件,配置ServerName 选项为控制节点,如果我们不修改servername那么keystone将无法启动

 
  1. [root@linux-node1 ~]# vim /etc/httpd/conf/httpd.conf
  2. ServerName 192.168.56.11:80

创建文件/etc/httod/conf.d/wsgi-keystone.conf

 
  1. [root@linux-node1 ~]# cat /etc/httpd/conf.d/wsgi-keystone.conf
  2. Listen 5000
  3. Listen 35357
  4. <VirtualHost *:5000>
  5. WSGIDaemonProcess keystone-public processes=5 threads=1 user=keystone group=keystone display-name=%{GROUP}
  6. WSGIProcessGroup keystone-public
  7. WSGIScriptAlias / /usr/bin/keystone-wsgi-public
  8. WSGIApplicationGroup %{GLOBAL}
  9. WSGIPassAuthorization On
  10. ErrorLogFormat "%{cu}t %M"
  11. ErrorLog /var/log/httpd/keystone-error.log
  12. CustomLog /var/log/httpd/keystone-access.log combined
  13. <Directory /usr/bin>
  14. Require all granted
  15. </Directory>
  16. </VirtualHost>
  17. <VirtualHost *:35357>
  18. WSGIDaemonProcess keystone-admin processes=5 threads=1 user=keystone group=keystone display-name=%{GROUP}
  19. WSGIProcessGroup keystone-admin
  20. WSGIScriptAlias / /usr/bin/keystone-wsgi-admin
  21. WSGIApplicationGroup %{GLOBAL}
  22. WSGIPassAuthorization On
  23. ErrorLogFormat "%{cu}t %M"
  24. ErrorLog /var/log/httpd/keystone-error.log
  25. CustomLog /var/log/httpd/keystone-access.log combined
  26. <Directory /usr/bin>
  27. Require all granted
  28. </Directory>
  29. </VirtualHost>

启动并设置开机启动

 
  1. [root@linux-node1 ~]# systemctl enable httpd.service
  2. Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service.
  3. [root@linux-node1 ~]# systemctl start httpd.service

检查 
image_1b27dsvakoshu0ksj9hkkcc0m.png-84.1kB
如果没有启动我们要查看/var/log/keystone/keystone.log并需要开启debug日志 
image_1b27dtmlv173esuq13ll1rt4fh813.png-149.2kB

开启debug日志如下:

 
  1. [root@linux-node1 ~]# vim /etc/keystone/keystone.conf
  2. #debug = true
  3. false修改为true将开启

排错方案如下:如果服务出现异常,首先先打开debug 然后重启服务 查看日志

以上就是keystone安装,下面我们还需要设置keystone 
  因为我们要连接到keystone所以需要创建keystone用户,keystone还需要自己进行注册服务

连接keystone有俩种方式: 
一种是使用keystone –os-username --os-password 
另一种是使用环境变量

我们如果想连接到keystone上,需要有3个环境变量

1.设置admin_token环境变量

 
  1. [root@linux-node1 ~]# export OS_TOKEN=1b0abfc7e9a314a0fd7f
  2. admin_token后面的值是我们在keystone.conf里面写的

2.设置连接到keystone的地址(配置端点URL

 
  1. [root@linux-node1 ~]# export OS_URL=http://192.168.56.11:35357/v3
  2. 设置keystoneadmin35357)端口 v3是用第三个版本

3.配置认证API版本

 
  1. [root@linux-node1 ~]# export OS_IDENTITY_API_VERSION=3

通过admintoken设置环境变量进行操作::

 
  1. [root@linux-host1 ~]# export OS_TOKEN=1b0abfc7e9a314a0fd7f #keystone配置文件中定义的token的值
  2. [root@linux-host1 ~]# export OS_URL=http://192.168.56.11:35357/v3 #keystone地址、端口和验证版本,35357是keystone的admin端口,5000是public端口
  3. [root@linux-host1 ~]# export OS_IDENTITY_API_VERSION=3 #配置API版本的环境变量

创建域、项目、用户和角色

创建default

 
  1. [root@linux-node1 ~]# openstack domain create --description "Default Domain" Default
  2. +-------------+----------------------------------+
  3. | Field | Value |
  4. +-------------+----------------------------------+
  5. | description | Default Domain |
  6. | enabled | True |
  7. | id | 8af40091347e4b109d44feae01fc4356 |
  8. | name | Default |
  9. +-------------+----------------------------------+
  10. --description是域的描述,最后一个是域的名称

提示:只有在环境变量下才可以创建这个域,并且生成的ID是随机的

为了进行管理操作,创建管理的项目用户角色

创建admin项目 相当于管理的,可以管理所有的云主机

 
  1. [root@linux-node1 ~]# openstack project create --domain default --description "Admin Project" admin
  2. +-------------+----------------------------------+
  3. | Field | Value |
  4. +-------------+----------------------------------+
  5. | description | Admin Project |
  6. | domain_id | 8af40091347e4b109d44feae01fc4356 |
  7. | enabled | True |
  8. | id | 026a58f98402437fa95ef4a21fbd4d1a |
  9. | is_domain
  10. | False |
  11. | name | admin |
  12. | parent_id | 8af40091347e4b109d44feae01fc4356 |
  13. +-------------+----------------------------------+
  14. #命令格式为openstack project --domain 域 --description "描述" 项目名

创建admin用户 
密码我们设置为admin

 
  1. [root@linux-node1 ~]# openstack user create --domain default --password-prompt admin
  2. User Password:
  3. Repeat User Password:
  4. +-----------+----------------------------------+
  5. | Field | Value |
  6. +-----------+----------------------------------+
  7. | domain_id | 8af40091347e4b109d44feae01fc4356 |
  8. | enabled | True |
  9. | id | a809e8be52c84732aecd8ebb93481d65 |
  10. | name | admin |
  11. +-----------+----------------------------------+

提示:密码请设置跟我一致!

创建admin角色 
角色就是在一个项目里面有多个角色,我们只能创建在配置文件中设置的角色。配置路径/etc/keystone/policy.json

 
  1. [root@linux-node1 ~]# openstack role create admin
  2. +-----------+----------------------------------+
  3. | Field | Value |
  4. +-----------+----------------------------------+
  5. | domain_id | None |
  6. | id | c934dad680e142d09c434e2301b2a9bf |
  7. | name | admin |
  8. +-----------+----------------------------------+

添加admin角色到admin项目和用户上 
admin用户添加到admin项目并授权admin的角色,角色就是admin权利的集合

 
  1. [root@linux-node1 ~]# openstack role add --project admin --user admin admin

小结:前三个环境变量是为了连接到keystone上,后面的就是为了创建项目用户角色,给域、项目、用户和角色做了一个关联

创建一个demo项目 
demo项目就类似于我们去阿里云上注册了一个账号,基本流程跟创建admin是一样的

 
  1. [root@linux-node1 ~]# openstack project create --domain default --description "Demo Project" demo
  2. +-------------+----------------------------------+
  3. | Field | Value |
  4. +-------------+----------------------------------+
  5. | description | Demo Project |
  6. | domain_id | 8af40091347e4b109d44feae01fc4356 |
  7. | enabled | True |
  8. | id | ff5398ee1b2e4d00bafd57f82dc150e6 |
  9. | is_domain | False |
  10. | name | demo |
  11. | parent_id | 8af40091347e4b109d44feae01fc4356 |
  12. +-------------+----------------------------------+

创建demo用户

 
  1. [root@linux-node1 ~]# openstack user create --domain default --password-prompt demo
  2. User Password:
  3. Repeat User Password:
  4. +-----------+----------------------------------+
  5. | Field | Value |
  6. +-----------+----------------------------------+
  7. | domain_id | 8af40091347e4b109d44feae01fc4356 |
  8. | enabled | True |
  9. | id | a78ec26501374df4a574bd3f8153d67f |
  10. | name | demo |
  11. +-----------+----------------------------------+
  12. 密码设置为demo

创建角色User

 
  1. [root@linux-node1 ~]# openstack role create user
  2. +-----------+----------------------------------+
  3. | Field | Value |
  4. +-----------+----------------------------------+
  5. | domain_id | None |
  6. | id | 4161dec8714f468f832a55a6ec2abb9e |
  7. | name | user |
  8. +-----------+----------------------------------+
  9. 提示:角色一共就只有两种,一个是admin另一个就是user

授权

 
  1. [root@linux-node1 ~]# openstack role add --project demo --user demo user
  2. demo用户添加到demo项目并授予user角色

创建一个service项目 
  我们各个服务之间需要去访问keystone,那么访问keystone就需要做认证,就需要我们创建用户,这个用户就要属于一个项目。所以我们要先创建一个server项目然后我们还需要给每个项目单独创建一个用户

 
  1. [root@linux-node1 ~]# openstack project create --domain default --description "Demo Project" service
  2. +-------------+----------------------------------+
  3. | Field | Value |
  4. +-------------+----------------------------------+
  5. | description | Demo Project |
  6. | domain_id | 8af40091347e4b109d44feae01fc4356 |
  7. | enabled | True |
  8. | id | 1c2419156c1b4214b53c50f3f075aeb3 |
  9. | is_domain | False |
  10. | name | service |
  11. | parent_id | 8af40091347e4b109d44feae01fc4356 |
  12. +-------------+----------------------------------+

提示:我们创建server项目是给服务用户用的,现在我们就需要创建openstack组件所有的服务的用户,openstack官方文档是没操作一个服务就创建一个用户,我们在这直接创建完所有用户

创建glance用户

 
  1. [root@linux-node1 ~]# openstack user create --domain default --password-prompt glance
  2. User Password:
  3. Repeat User Password:
  4. +-----------+----------------------------------+
  5. | Field | Value |
  6. +-----------+----------------------------------+
  7. | domain_id | 8af40091347e4b109d44feae01fc4356 |
  8. | enabled | True |
  9. | id | c57d19c6b3784c53b40c48013c11530a |
  10. | name | glance |
  11. +-----------+----------------------------------+
  12. 授权
  13. [root@linux-node1 ~]# openstack role add --project service --user glance admin

创建Nova用户

 
  1. [root@linux-node1 ~]# openstack user create --domain default --password-prompt nova
  2. User Password:
  3. Repeat User Password:
  4. +-----------+----------------------------------+
  5. | Field | Value |
  6. +-----------+----------------------------------+
  7. | domain_id | 8af40091347e4b109d44feae01fc4356 |
  8. | enabled | True |
  9. | id | c9a1b50f0b1c42b4a218b2e8dc43078c |
  10. | name | nova |
  11. +-----------+----------------------------------+
  12. [root@linux-node1 ~]# openstack role add --project service --user nova admin

创建neutron用户并授权

 
  1. [root@linux-node1 ~]# openstack user create --domain default --password-prompt neutron
  2. User Password:
  3. Repeat User Password:
  4. +-----------+----------------------------------+
  5. | Field | Value |
  6. +-----------+----------------------------------+
  7. | domain_id | 8af40091347e4b109d44feae01fc4356 |
  8. | enabled | True |
  9. | id | 99939909b95f4d8aa2ad59622ae10432 |
  10. | name | neutron |
  11. +-----------+----------------------------------+
  12. [root@linux-node1 ~]# openstack role add --project service --user neutron admin

创建glance用户并授权

 
  1. [root@linux-host1 ~]# openstack user create --domain default --password-prompt glance
  2. User Password:
  3. Repeat User Password:
  4. +-----------+----------------------------------+
  5. | Field | Value |
  6. +-----------+----------------------------------+
  7. | domain_id | f5282392070044e18b5e93299ee15b5a |
  8. | enabled | True |
  9. | id | 4ee18653aa5b47f293fdf8ed658b221c |
  10. | name | glance |
  11. +-----------+----------------------------------+
  12. [root@linux-node1 ~]# openstack role add --project service --user glance admin

温馨提示:如果出现错误可以使用以下命令进行排错 
用户相关设置:openstack user –help

 
  1. [root@linux-node1 ~]# openstack user --help
  2. Command "user" matches:
  3. user create
  4. user delete
  5. user list
  6. user password set
  7. user set
  8. user show

服务相关设置:

 
  1. [root@linux-node1 ~]# openstack service --help
  2. Command "service" matches:
  3. service create
  4. service delete
  5. service list
  6. service provider create
  7. service provider delete
  8. service provider list
  9. service provider set
  10. service provider show
  11. service set
  12. service show
  13. openstack project list查看是否有项目
  14. openstack user list 查看是否有用户

以上就是keystone的用户部署

keystone还有一个功能是服务注册,我们需要将服务注册到上面来

服务注册

创建服务

 
  1. [root@linux-node1 ~]# openstack service create --name keystone --description "OpenStack Identity" identity
  2. +-------------+----------------------------------+
  3. | Field | Value |
  4. +-------------+----------------------------------+
  5. | description | OpenStack Identity |
  6. | enabled | True |
  7. | id | 22e86b1d085d46d58b5db1aae7f8d26d |
  8. | name | keystone |
  9. | type | identity |
  10. +-------------+----------------------------------+
  11. 其他服务过来找的时候就会查找是否含有类似为identity

创建endpoint 
前文介绍: Endpoint翻译为“端点”,我们可以理解它是一个服务暴露出来的访问点,如果需要访问一个服务,则必须知道他的endpoint。Endpoint的每个URL都对应一个服务实例的访问地址,并且具有public、orivate和admin这三种权限。pubic url可以完全被全局访问,private url只能被局域网访问,admin url被从常规的访问中分离。

创建公有端点(public)

 
  1. [root@linux-node1 ~]# openstack endpoint create --region RegionOne identity public http://192.168.56.11:5000/v3
  2. +--------------+----------------------------------+
  3. | Field | Value |
  4. +--------------+----------------------------------+
  5. | enabled | True |
  6. | id | 041e59113fb84bc1955b4853719e5bdf |
  7. | interface | public |
  8. | region | RegionOne |
  9. | region_id | RegionOne |
  10. | service_id | 22e86b1d085d46d58b5db1aae7f8d26d |
  11. | service_name | keystone |
  12. | service_type | identity |
  13. | url | http://192.168.56.11:5000/v3 |
  14. +--------------+----------------------------------+

创建私有端点(internal)

 
  1. [root@linux-node1 ~]# openstack endpoint create --region RegionOne identity internal http://192.168.56.11:5000/v3
  2. +--------------+----------------------------------+
  3. | Field | Value |
  4. +--------------+----------------------------------+
  5. | enabled | True |
  6. | id | 5dbf154c482144848a45314c38d86751 |
  7. | interface | internal |
  8. | region | RegionOne |
  9. | region_id | RegionOne |
  10. | service_id | 22e86b1d085d46d58b5db1aae7f8d26d |
  11. | service_name | keystone |
  12. | service_type | identity |
  13. | url | http://192.168.56.11:5000/v3 |
  14. +--------------+----------------------------------+

创建admin 
我们需要将端口改成35357,因为keystone比较特殊,需要单独一个端口

 
  1. [root@linux-node1 ~]# openstack endpoint create --region RegionOne identity admin http://192.168.56.11:35357/v3
  2. +--------------+----------------------------------+
  3. | Field | Value |
  4. +--------------+----------------------------------+
  5. | enabled | True |
  6. | id | 30138e420b5b4625a9c8ee2bca56b2d5 |
  7. | interface | admin |
  8. | region | RegionOne |
  9. | region_id | RegionOne |
  10. | service_id | 22e86b1d085d46d58b5db1aae7f8d26d |
  11. | service_name | keystone |
  12. | service_type | identity |
  13. | url | http://192.168.56.11:35357/v3 |
  14. +--------------+----------------------------------+
  15. 温馨提示:如果一不小心输入错了,需要将三个端点删除从新创建

检查keystone是否安装成功 
测试之前我们需要删除删除环境变量unset OS_TOKEN OS_URL 
账号是admin,密码我们设置的是admin

 
  1. [root@linux-node1 ~]# openstack --os-auth-url http://192.168.56.11:35357/v3 \
  2. > --os-project-domain-name default --os-user-domain-name default \
  3. > --os-project-name admin --os-username admin token issue
  4. Password:
  5. +------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  6. | Field | Value |
  7. +------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  8. | expires | 2016-11-17T04:51:30.580499Z |
  9. | id | gAAAAABYLSlCWrN1SZuiZsXNPLo5-JosU1wrgfiwxHBTYPFqfStOZNa8jFSyYhMSPeeC5Fj1qHTJ9ct67IzqjhFcpWrsj7dkRPajxh7NbUAoJsM7aeRJTgWCx7oWQgoR5VqcItnu0ru_45we71BG_mrd9fJxRinPbbDbjEMkpGSN |
  10. | | XJeOyhSCYrA |
  11. | project_id | 026a58f98402437fa95ef4a21fbd4d1a |
  12. | user_id | a809e8be52c84732aecd8ebb93481d65 |
  13. +------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+

用这个用户名和密码获取一个token,如果可以获取到说明正常,如果没有获取到说明失败

测试demo用户 
密码我们同样设置的是demo

 
  1. [root@linux-node1 ~]# openstack --os-auth-url http://192.168.56.11:5000/v3 \
  2. > --os-project-domain-name default --os-user-domain-name default \
  3. > --os-project-name demo --os-username demo token issue
  4. Password:
  5. +------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  6. | Field | Value |
  7. +------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  8. | expires | 2016-11-17T04:56:37.343347Z |
  9. | id | gAAAAABYLSp17aa9fPaMORIV-wpQa2cxCHfBiU5RbhlW8fPu-uIUsKuXj4gaI8NWLCj7Y3GIam8752UY0miXJxnvJ7ew3lMPpCnYLPrObmvXmo1yeKa391u9yucUbKGIX-ma- |
  10. | | O0iijuy7-XNcGbKa2Ylwij3j3xbyaIUwiiRddnObNx3ZPVjTEo |
  11. | project_id | ff5398ee1b2e4d00bafd57f82dc150e6 |
  12. | user_id | a78ec26501374df4a574bd3f8153d67f |
  13. +------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+

创建脚本 
创建admindemo项目和用户创建客户端环境变量脚本,为了以后的方便而创建

 
  1. [root@linux-node1 ~]# cat admin-openstack.sh
  2. export OS_PROJECT_DOMAIN_NAME=default
  3. export OS_USER_DOMAIN_NAME=default
  4. export OS_PROJECT_NAME=admin
  5. export OS_USERNAME=admin
  6. export OS_PASSWORD=admin
  7. export OS_AUTH_URL=http://192.168.56.11:35357/v3
  8. export OS_IDENTITY_API_VERSION=3
  9. export OS_IMAGE_API_VERSION=2

测试脚本是否生效 
创建完成后,我们下次在想验证token就可以直接使用命令来执行

 
  1. [root@linux-node1 ~]# source admin-openstack.sh
  2. [root@linux-node1 ~]# openstack token issue
  3. +------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  4. | Field | Value |
  5. +------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  6. | expires | 2016-11-17T07:52:13.398484Z |
  7. | id | gAAAAABYLVOdq_gR3JayGSrGeEnJZJHeCxAmkxpAZ9asbj8IH91-jDgImQrVprlPvMO2qXlLAAV3mShVSvEOmMoGpDaCG_ulcr0EB0xo1v- |
  8. | | p171xzH3E7ke5NaNNdZWOlIfFmLACa7sA5wULKVz7kSBbS4g_h_bJq0lxr7ev4MX8FsWRnmmtGZI |
  9. | project_id | 026a58f98402437fa95ef4a21fbd4d1a |
  10. | user_id | a809e8be52c84732aecd8ebb93481d65 |
  11. +------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  12. [root@linux-node1 ~]#

编写demo的环境

 
  1. [root@linux-node1 ~]# cat demo-openstack.sh
  2. export OS_PROJECT_DOMAIN_NAME=default
  3. export OS_USER_DOMAIN_NAME=default
  4. export OS_PROJECT_NAME=demo
  5. export OS_USERNAME=demo
  6. export OS_PASSWORD=demo
  7. export OS_AUTH_URL=http://192.168.56.11:5000/v3
  8. export OS_IDENTITY_API_VERSION=3
  9. export OS_IMAGE_API_VERSION=2
  10. [root@linux-node1 ~]# source demo-openstack.sh
  11. [root@linux-node1 ~]# openstack token issue
  12. +------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  13. | Field | Value |
  14. +------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  15. | expires | 2016-11-17T07:54:19.996447Z |
  16. | id | gAAAAABYLVQc_H2-tIGst4GvEhpu03taLaXP9yE1Yru2foNEzvdW5zFErR_8nvyqkZ2-f8HoHSOpVcRvDPxbujk93uB4a0meYWRS6Ve5zYFZ7v74CbmMRkB-f7hThsTET1uazzKDXFP46gzBV3G135NT-xdjKp- |
  17. | | pQv58ZNm7BVHSXVtMIES289M |
  18. | project_id | ff5398ee1b2e4d00bafd57f82dc150e6 |
  19. | user_id | a78ec26501374df4a574bd3f8153d67f |
  20. +------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+

以后我们要执行openstack命令,直接执行这个环境变量即可

---------以上就是keystone的配置----------

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值