OpenStack构建企业私有云KeyStone(2)

news/2024/7/18 15:28:31 标签: openstack, 私有云, keystone, linux

 

keystone是OpenStack的组件之一,用于为OpenStack家族中的其它组件成员提供统一的认证服务,包括身份验证、令牌的发放和校验、服务列表、用户权限的定义等等。云环境中所有的服务之间的授权和认证都需要经过 keystone. 因此 keystone 是云平台中第一个即需要安装的服务。

作为 OpenStack 的基础支持服务,Keystone 做下面这几件事情:

管理用户及其权限

维护 OpenStack Services 的 Endpoint(服务端点)

Authentication(认证)和 Authorization(鉴权)

 

 

酒店就类似于project项目,酒店提供住宿的服务service,user相当于客人,endpoint相当于客人住酒店时的询问的酒店的地址,role为角色,如客人定了个豪华套房,name他就是贵宾,定了标间,他就是普通客人,credentials相当于入住酒店时提供的身份证,酒店前台利用身份证获取身份信息并提供房间,这个过程相当于authentication,办理入住后拿到的房卡相当于token,利用token就可以刷开房间门进行住宿这项service。

1.安装keystone# yum install -y openstack-keystone httpd mod_wsgi memcached python-memcached
2.设置Memcache开启启动并启动Memcached[root@linux-node1 ~]# systemctl enable memcached.service[root@linux-node1 ~]# vim /etc/sysconfig/memcachedPORT="11211"USER="memcached"MAXCONN="1024"CACHESIZE="64"OPTIONS="-l 10.0.0.20,::1"[root@linux-node1 ~]# systemctl start memcached.service
3.配置KeyStone数据库[root@linux-node1 ~]# vim /etc/keystone/keystone.conf[database]connection = mysql+pymysql://keystone:keystone@10.0.0.20/keystone
2)设置Token和Memcached[token]provider = fernet
3).同步数据库:[root@linux-node1 ~]# su -s /bin/sh -c "keystone-manage db_sync" keystone[root@linux-node1 ~]# mysql -h 10.0.0.20 -ukeystone -pkeystone -e " use keystone;show tables;"
4)初始化fernet keys[root@linux-node1 ~]# keystone-manage fernet_setup --keystone-user keystone --keystone-group keystone[root@linux-node1 ~]# keystone-manage credential_setup --keystone-user keystone --keystone-group keystone
5)初始化keystone[root@linux-node1 ~]# keystone-manage bootstrap --bootstrap-password admin \ --bootstrap-admin-url http://10.0.0.0.20:35357/v3/ \ --bootstrap-internal-url http://10.0.0.0.20:35357/v3/ \ --bootstrap-public-url http://10.0.0.0.20:5000/v3/ \ --bootstrap-region-id RegionOne
6).验证Keystone配置[root@linux-node1 ~]# grep "^[a-z]" /etc/keystone/keystone.confconnection = mysql+pymysql://keystone:keystone@10.0.0.0.20/keystoneprovider = fernet
7)KeyStone启动 [root@linux-node1 ~]# vim /etc/httpd/conf/httpd.confServerName 10.0.0.0.20:80创建配置文件[root@linux-node1 ~]# ln -s /usr/share/keystone/wsgi-keystone.conf /etc/httpd/conf.d/
启动keystone,并查看端口。[root@linux-node1 ~]# systemctl enable httpd.service[root@linux-node1 ~]# systemctl start httpd.service
设置环境变量[root@linux-node1 ~]# export OS_USERNAME=admin[root@linux-node1 ~]# export OS_PASSWORD=admin[root@linux-node1 ~]# export OS_PROJECT_NAME=admin[root@linux-node1 ~]# export OS_USER_DOMAIN_NAME=Default[root@linux-node1 ~]# export OS_PROJECT_DOMAIN_NAME=Default[root@linux-node1 ~]# export OS_AUTH_URL=http://10.0.0.0.20:35357/v3[root@linux-node1 ~]# export OS_IDENTITY_API_VERSION=3
创建项目和demo用户# openstack project create --domain default --description "Demo Project" demo# openstack user create --domain default --password demo demo# openstack role create user# openstack role add --project demo --user demo user
创建Service项目# openstack project create --domain default --description "Service Project" service创建glance用户# openstack user create --domain default --password glance glance# openstack role add --project service --user glance admin创建nova用户# openstack user create --domain default --password nova nova# openstack role add --project service --user nova admin创建placement用户# openstack user create --domain default --password placement placement# openstack role add --project service --user placement admin创建Neutron用户# openstack user create --domain default --password neutron neutron# openstack role add --project service --user neutron admin创建cinder用户# openstack user create --domain default --password cinder cinder# openstack role add --project service --user cinder admin
验证Keystone[root@linux-node1 ~]# unset OS_AUTH_URL OS_PASSWORD[root@linux-node1 ~]# openstack --os-auth-url http://10.0.0.0.20:35357/v3 \--os-project-domain-name default --os-user-domain-name default \--os-project-name admin --os-username admin token issuePassword:[root@linux-node1 ~]# openstack --os-auth-url http://10.0.0.0.20:5000/v3 \--os-project-domain-name default --os-user-domain-name default \--os-project-name demo --os-username demo token issuePassword:
[root@linux-node1 ~]# source admin-openstack.sh[root@linux-node1 ~]# openstack token issue[root@linux-node1 ~]# source demo-openstack.sh[root@linux-node1 ~]# openstack token issue


http://www.niftyadmin.cn/n/1252925.html

相关文章

Linux两台主机做ssh互信

测试1号机 10.0.0.250测试2号机 10.0.0.251 备注:操作系统Centos7.4测试1号机(10.0.250)[rootcs-app1 ssh]# ssh-keygen #生成公钥Generating public/private rsa key pair.Enter file in which to save the key (/root/.ssh/id_rsa):/root…

OpenStack构建企业私有云Glance(3)

​OpenStack中的Glance是镜像服务,能够提供发现、注册并查询虚拟机镜像,也是Openstack的一个组件或者说项目之一。镜像服务提供了一个Rest API的方式。 OpenStack的Glance镜像可以存放在本地文件系统,也可以存放在OpenStack的对象存储上。…

CP IPS功能测试

测试环境:CP 15000硬件 测试拓扑: Step1:重新安装Check_Point_R80.10_T479_Gaia并且打补丁 Step2:初始化CP并且部署模式为Management和Gateway安装在一台设备上 Step3:配置桥接接口,如下图: 激活external接口 激活internal接口 创…

windows不能显示此连接属性。windows management instrumentation (WMI) 信息可能损坏

Windows Management Instrumentation (WMI)信息可能损坏错误修复 在 查看“本地连接”的属性,并切换到“高级”选项卡后,提示:“Windows不能显示此连接的属性。Windows Management Instrumentation(Windows管理体系结构组件WMI)信息可能损坏。要更正此问…

There' s a lot to learn. It's a new world.

要有思路,和心态。 https://segmentfault.com/a/1190000013329013

oracle 10g 手动创建scott(tiger) schema

转自:http://cnhtm.itpub.net/post/39970/496967 为了学习数据库,今天装上了Oracle 10g,装了以后发现没有scott账户,并不像别的文章里说的scott账户已锁定,而是完全没有,搜了很多才明白自己在安装的时候没有选择安装演…

一个JAVA程序员成长之路———没有尽头

来自https://blog.csdn.net/asunlei/article/details/79649183 的节选 首先 JAVA基础语法 集合类 线程 IO操作, 这些掌握了 基础算是过关了 其次 web部分 servlet jsp session cookie mysql数据库 都要知道怎么操作怎么用学到这个阶段,你需要知道一个请求从页面或者移动端发起之…

做一个关于小小小程序编码的总结

在完成一个简单的“登陆学生管理系统”后的总结: 忘记全局变量的定义,导致代码的一直报错。函数的调用出现了思维上的混乱。函数的编写代码出现了简单的逻辑和语法错误。抽象的理解,没有对此次编程做大面上的观察。逆向思维的运用&#xff0c…