设为首页 收藏本站
查看: 1188|回复: 0

[经验分享] 一步一步跟着官方文档安装部署Openstack(icehouse)二

[复制链接]

尚未签到

发表于 2018-6-1 12:35:12 | 显示全部楼层 |阅读模式
  继安装部署OpenStack(一)
  

  三、配置身份识别服务(keystone)控制节点
  身份识别服务执行以下功能:
  用户管理,追踪用户和他们的权限
  作为其他服务的目录,提供了一个可用服务和他们API端点的目录
  

  为了明白身份识别服务,你要明白以下的概念:
  用户(User)           一串数字代表使用openstackyun服务的人、系统、服务,身份识别服务验证用户进来的请求,通过之后,会分配其令牌,用户可以凭借令牌访问他所在的容器
  证明材料(Credentials)             在身份识别中的用户名、密码或者令牌   

  验证 (Authentication)                   验证用户的一个动作
  令牌 (Token)                   用来访问资源的一串任意文本

  容器  (Tenant)                  一个用来隔离资源或对象的容器
  服务(Service)                     一个openstack的服务,例如计算服务(nova),对象存储服务(swift),镜像服务(glance)等等。

  端点  (Endpoint )                  一个网络访问地址,通常叫做URL,用来访问服务的地址
  角色 (Role)               一个角色是一些权限的一个集合,赋予一个用户这个角色,这个用户就有了角色里面的权限

  

  安装身份识别服务(keystone)
  在控制节点安装
# yum install openstack-keystone python-keystoneclient
    #修改配置文件中的mysql连接
# openstack-config --set /etc/keystone/keystone.conf \
database connection mysql://keystone:KEYSTONE_DBPASS@controller keystone  注:KEYSTONE_DBPASS修改为你的身份验证服务密码,这个命令也可以如下操作
  #或

#vim  /etc/keystone/keystone.conf  修改
database connection mysql://keystone:KEYSTONE_DBPASS@controller/keystone  上面的参数指定连接时,其语法格式为“mysql://[user]:[pass]@[primary IP]/[db name]”。   

  以下命令都采用openstack-config的方式修改配置文件,大家理解即可! DSC0000.gif

  

  使用root登陆mysql,创建数据库,赋予keystone用户相关权限
$ mysql -u root -p
mysql> CREATE DATABASE keystone;
mysql> GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' \
IDENTIFIED BY 'KEYSTONE_DBPASS';
mysql> GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' \
IDENTIFIED BY 'KEYSTONE_DBPASS';
mysql> exit  为keystone创建表
su -s /bin/sh -c "keystone-manage db_sync" keystone  注意:这里可能会报警告信息,但是不是错误,大家忽略即可。(因为默认是debug级别)
  定义一个验证的令牌,以供keystone和其他服务使用
# ADMIN_TOKEN=$(openssl rand -hex 10)
# echo $ADMIN_TOKEN
# openstack-config --set /etc/keystone/keystone.conf DEFAULT \
admin_token $ADMIN_TOKEN  默认情况下,keystone使用PKI 令牌,所以创建签名和证书
# keystone-manage pki_setup --keystone-user keystone --keystone-group
keystone
# chown -R keystone:keystone /etc/keystone/ssl
# chmod -R o-rwx /etc/keystone/ssl  启动keystone服务,加入启动列表
# service openstack-keystone start
# chkconfig openstack-keystone on  

  定义用户,容器,角色
  定义环境变量

$ export OS_SERVICE_TOKEN=ADMIN_TOKEN
$ export OS_SERVICE_ENDPOINT=
http://controller:35357/v2.0  注:ADMIN_TOKEN就是上面生成的随机数字
  创建admin用户
$ keystone user-create --name=admin --pass=ADMIN_PASS --email=ADMIN_EMAIL  修改密码和邮箱
  创建admin角色
$ keystone role-create --name=admin  创建admin容器
$ keystone tenant-create --name=admin --description="Admin Tenant"  赋予admin用户admin角色和admin容器
$ keystone user-role-add --user=admin --tenant=admin --role=admin  系统默认有_member_角色,赋予admin
$keystone user-role-add --user=admin --role=_member_ --tenant=admin  创建一个demo用户,demo角色,demo容器,方法同上
  创建一个service容器,用来承载其他的openstack服务,每个openstack服务,都需要用户,角色,容器来访问其他的服务的,但是容器可以共享,这里共享一个service 容器,用户和角色可以在后面创建服务的时候建立。
$ keystone tenant-create --name=service --description="Service Tenant"  创建好之后查看下
# keystone user-list
+----------------------------------+--------+---------+------------------+
|                id                |  name  | enabled |      email       |
+----------------------------------+--------+---------+------------------+
| 2ff603a4178e449c9517be5ee33eebc3 | admin  |   True  |  root@localhost  |
| e725d18231f646fbb30a5410f3f4024e |  demo  |   True  |  demo@localhost  |
| d8702a1bd0264dc7a55ffaebc0c3e58e | glance |   True  | glance@localhost |
| afd793ac961b47feb42ce799f69c6b08 |  nova  |   True  |  nova@localhost  |
+----------------------------------+--------+---------+------------------+#keystone role-list
+----------------------------------+----------+
|                id                |   name   |
+----------------------------------+----------+
| 9fe2ff9ee4384b1894a90878d3e92bab | _member_ |
| bc312302997b468788ac91ae1faf9a5c |  admin   |
+----------------------------------+----------+# keystone tenant-list
+----------------------------------+---------+---------+
|                id                |   name  | enabled |
+----------------------------------+---------+---------+
| dc42d1e0d4fd4661bab1c4b8b55aaea5 |  admin  |   True  |
| f3241e14bd6d4afebd4ef154f967b038 |   demo  |   True  |
| caee860fa57a4c44bafdeee2974148b1 | service |   True  |
+----------------------------------+---------+---------+  

  定义服务和API端点
  在keystone中创建一个service条目
keystone service-create --name=keystone --type=identity \
--description="OpenStack Identity"
+-------------+----------------------------------+
| Property | Value |
+-------------+----------------------------------+
| description | OpenStack Identity |
| id | 15c11a23667e427e91bc31335b45f4bd |
| name | keystone |
| type | identity |
+-------------+----------------------------------+  为keystone服务添加API端点
keystone endpoint-create \
--service-id=$(keystone service-list | awk '/ identity / {print $2}') \   注:这里service-id可以用上面的查看命令获取之后粘贴过来
--publicurl=http://controller:5000/v2.0 \
--internalurl=http://controller:5000/v2.0 \
--adminurl=

+-------------+-----------------------------------+
| Property | Value |
+-------------+-----------------------------------+
| adminurl | http://controller:35357/v2.0 |
| id | 11f9c625a3b94a3f8e66bf4e5de2679f |
| internalurl | http://controller:5000/v2.0 |
| publicurl | http://controller:5000/v2.0 |
| region | regionOne |
| service_id | 15c11a23667e427e91bc31335b45f4bd |
+-------------+-----------------------------------+  

  验证keystone服务的安装
  取消环境变量
$ unset OS_SERVICE_TOKEN OS_SERVICE_ENDPOINT  使用基于用户名,密码的验证
$ keystone --os-username=admin --os-password=ADMIN_PASS \
--os-auth-url=http://controller:35357/v2.0 token-get  当你看到有你的user id和令牌的时候,keystone服务运行正常
  将变量保存到文件中,使用source是变量生效
vim admin-openrc.sh
export OS_USERNAME=admin
export OS_PASSWORD=ADMIN_PASS
export OS_TENANT_NAME=admin
export OS_AUTH_URL=
$ source admin-openrc.sh  这样就可以直接使用keystone的命令,不在需要提供用户名,密码了
  至此身份认证服务安装完成
  

  

  

  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-500383-1-1.html 上篇帖子: 如何搭建搭建各个版本的openstack的本地yum源? 下篇帖子: 四、openstack安装之Nova篇
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表