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

[经验分享] openstack M版安装 认证(keystone)服务篇

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2016-7-6 09:11:28 | 显示全部楼层 |阅读模式
配置安装keystone 认证服务


一、安装配置控制节点
1、创建数据库并添加权限
1
2
3
4
5
[iyunv@controller ~]#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_PASS改为自己想要的数据库密码,退出数据库

生产一个随机字符串作为keystone的密码
1
[iyunv@controller ~]# openssl rand -hex 10 > /root/key




2、安装keystone
1
[iyunv@controller ~]# yum install openstack-keystone httpd mod_wsgi



编辑keystone配置文件,由于原来的配置文件内容很多,编辑起来比较麻烦,这里所有服务我们都全部备份一下,然后手动编写配置
1
2
3
4
5
6
7
8
[iyunv@controller ~]# mv /etc/keystone/keystone.conf /etc/keystone/keystone.conf_bak
[iyunv@controller ~]# vim /etc/keystone/keystone.conf
[DEFAULT]
admin_token = ADMIN_TOKEN  #ADMIN_TOKEN是上一步生产的/root/key的值
[database]
connection = mysql+pymysql://keystone:KEYSTONE_DBPASS@controller/keystone   #替换KEYSTONE_DBPASS
[token]
provider = fernet



同步数据库
1
[iyunv@controller ~]# su -s /bin/sh -c "keystone-manage db_sync" keystone



忽略所有输出
初始化Fernet keys

1
[iyunv@controller ~]# keystone-manage fernet_setup --keystone-user keystone --keystone-group keystone




配置apache  web服务,使用wsgi启动keystone服务
编辑/etc/httpd/conf/httpd.conf
1
ServerName controller



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



启动apache,并加入开机启动
1
2
[iyunv@controller ~]# systemctl enable httpd.service
[iyunv@controller ~]# systemctl start httpd.service




3、创建服务实体和api接口
设置环境变量
1
2
3
[iyunv@controller ~]# export OS_TOKEN=`cat /root/key`
[iyunv@controller ~]# export OS_URL=
[iyunv@controller ~]# export OS_IDENTITY_API_VERSION=3



创建服务实体和api接口
1
2
3
4
[iyunv@controller ~]# openstack service create --name keystone --description "OpenStack Identity" identity
[iyunv@controller ~]# openstack endpoint create --region RegionOne identity public http://controller:5000/v3
[iyunv@controller ~]# openstack endpoint create --region RegionOne identity internal http://controller:5000/v3
[iyunv@controller ~]# openstack endpoint create --region RegionOne identity admin   http://controller:35357/v3



创建domain,projects,users,roles
1
2
3
4
5
6
7
8
9
10
[iyunv@controller ~]# openstack domain create --description "Default Domain" default
[iyunv@controller ~]# openstack project create --domain default  --description "Admin Project" admin
[iyunv@controller ~]# openstack user create --domain default  --password-prompt admin  #提示数据admin密码
[iyunv@controller ~]# openstack role create admin
[iyunv@controller ~]#  openstack role add --project admin --user admin admin
[iyunv@controller ~]#  openstack project create --domain default  --description "Service Project" service
[iyunv@controller ~]#  openstack project create --domain default  --description "Demo Project" demo
[iyunv@controller ~]#  openstack user create --domain default  --password-prompt demo  #提示数据demo用户密码
[iyunv@controller ~]#  openstack role create user
[iyunv@controller ~]#  openstack role add --project demo --user demo user




4、验证
a、编辑/etc/keystone/keystone-paste.ini 文件 从[pipeline:public_api], [pipeline:admin_api], 和 [pipeline:api_v3] 三节中 的admin_token_auth 去掉
b、unset环境变量
1
[iyunv@controller ~]# unset OS_TOKEN OS_URL



c、使用admin和demo用户 ,用刚才创建的密码,来获取admin和demo的token
1
2
3
4
5
6
7
8
9
10
11
[iyunv@controller ~]# 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
Password:
+------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Field      | Value                                                                                                                                                                                   |
+------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| expires    | 2016-06-16T11:45:07.490509Z                                                                                                                                                             |
| id         | gAAAAABXYoMzoRksV6N766GIOfaKj74qiiXEcjLhpN5RpNPqP4TvJ3ln-17Fqx1G-Oz2-BA_c2a0hIxmFozpr5enc7veoBIfKV32_dAppdn2cOKzR0zyW1eP1eQ-a8MU9ikKy5OVFKKEBM8l2uzLZJNcoB6Y7VKDg3Rmc3R5UdHwdoXDhot1LVk |
| project_id | 00a82ac5055d4ddd934d14eaed7c76ac                                                                                                                                                        |
| user_id    | ce8866883361430d834dc0b5a65a368f                                                                                                                                                        |
+------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
[iyunv@controller ~]# 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




5、创建openstack client 环境配置脚本
在controller节点
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
[iyunv@controller ~]# vim /root/admin-openrc.sh
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     #改为自己密码
export OS_AUTH_URL=http://controller:35357/v3
export OS_IDENTITY_API_VERSION=3
export OS_IMAGE_API_VERSION=2


[iyunv@controller ~]# vim /root/demo-openrc.sh
export OS_PROJECT_DOMAIN_NAME=default
export OS_USER_DOMAIN_NAME=default
export OS_PROJECT_NAME=demo
export OS_USERNAME=demo
export OS_PASSWORD=demo    #改为自己密码
export OS_AUTH_URL=http://controller:5000/v3
export OS_IDENTITY_API_VERSION=3
export OS_IMAGE_API_VERSION=2



测试,使用admin环境变量
1
2
[iyunv@controller ~]# source /root/admin-openrc.sh
[iyunv@controller ~]# openstack token issue   #获取admin用户的token



没有错误表示成功!



运维网声明 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-240058-1-1.html 上篇帖子: openstack M版安装 环境准备篇 下篇帖子: openstack M版安装 镜像(image,glance)服务篇
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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