OpenStack 认证服务 KeyStone部署(三)
Keystone 介绍
Keystone作用:
- 用户与认证:用户权限与用户行为跟踪;
- 服务目录:提供一个服务目录,包括所有服务项和相关Api的断点
- SOA相关知识
Keystone主要两大功能用户认证和服务目录(相当于一个注册中心)
- 用户认证名词介绍
User:用户
它是用一个数字代表使用openstack云服务的一个人、系统、或服务。身份验证服务将会验证传入的由用户声明将调用的请求
一个租户可以有多个用户
一个用户可以属于一个或多个租户
用户对租户和操作权限由用户在租户中承担的角色来决定。
Project:项目
它是各个服务中的一些可以访问的资源集合或者说叫资源组。它是一个容器,用于组织和隔离资源,或标识对象。
Token:令牌
Role:角色
代表一组用户可以访问的资源权限,例如Nova中的虚拟机、Glance中的镜像。
- 服务目录两大名词介绍
Service:服务
Service即服务,如Nova、Glance、Swift。根据前三个概念(User,Project和Role)一个服务可以确认当前用户是否具有访问其资源的权限。但是当一个user尝试着访问其租户内的service时,他必须知道这个service是否存在以及如何访问这个service。
Endpoint:端点
Endpoint翻译为“端点”,我们可以理解它是一个服务暴露出来的访问点,如果需要访问一个服务,则必须知道他的endpoint。Endpoint的每个URL都对应一个服务实例的访问地址,并且具有public、orivate和admin这三种权限。pubic url可以完全被全局访问,private url只能被局域网访问,admin url被从常规的访问中分离。
KeyStone安装
yum install -y openstack-keystone httpd mod_wsgi memcached python-memcached
提示: wsgi是python一个cgi的接口
KeyStone配置
编辑文件/etc/keystone/keystone.conf,我们管理keystone只需要修改keystone的配置文件即可。
备注:在配置文件里面以[xxx]里面的内容叫做配置栏目(类似于mysql配置文件[mysqld])
- 在[DEFAULT]部分,定义初始管理令牌的值,我们使用openssl生成一个随机值。
[root@linux-node1 ~]# openssl rand -hex 10
07081849f55281652
[root@linux-node1 ~]# vim /etc/keystone/keystone.conf
[DEFAULT]
admin_token = 07081849f55281652dac
提示:keystone默认没有用户,需要进行创建用户。这样我们在配置文件中加入admin_token,在没有用户的情况下可以使用admin_token进行访问。还可以设置不用用户名和密码。简单来说admin_token就是初始化时候超级管理员的用户。
- 在[database]部分,配置数据库访问:
[database]
connection = mysql+pymysql://keystone:keystone@192.168.137.11/keystone
提示:用户名:密码@数据库地址/库名称
- 在[token]部分,配置Fernet UUID令牌的提供者
提供令牌有四种方式[fernet|pkiz|pki|uuid]默认是uuid。
[token]
provider = fernet
driver = memcache
默认是存储在sql中,我们需要将它修改为memcache
- 在[memcache]部分,配置memcache的连接地址和端口
[memcache]
servers = 192.168.137.11:11211
初始化数据库
su -s /bin/sh -c "keystone-manage db_sync" keystone
自动找到keystone配置文件里的mysql连接,来帮我们创建数据库中的表。
- 我们为什么要使用keystone用户去同步数据库呢?
因为同步数据库会在/var/log/keystone目录下去写日志,如果使用root权限同步,当keystone用户启动服务时读取这个日志文件,那么它将无法进行读取(权限问题),会出现启动错误的情况。
检查表是否创建成功
mysql -h 192.168.137.11 -ukeystone -pkeystone -e "use keystone;show tables;"
提示:如果查看表的时候发现没有,通过日志/var/log/keystone/keystone.log排查报错信息。
初始化Fernet keys
创建相关的证书
keystone-manage fernet_setup --keystone-user keystone --keystone-group keystone
执行完命令之后会在/etc/keystone下生成fernet-keys目录,它的权限是keystone里面存放这一些相关证书。
提示:我们要注意/etc/keystone目录下文件的权限。
memcached启动和设置
systemctl enable memcached.service
systemctl start memcached.service
查看配置文件/etc/sysconfig/memcached
- PORT="11211" # 端口号
- USER="memcached" # 用户
- MAXCONN="1024" # 最大连接数
- CACHESIZE="64" # 大小64MB
netstat -ntlp检查服务端口是否存在
apache配置
- 配置/etc/httpd/conf/httpd.conf文件,配置ServerName 选项为控制节点
[root@linux-node1 ~]# vim /etc/httpd/conf/httpd.conf
ServerName 192.168.137.11:80
- 创建配置文件/etc/httod/conf.d/wsgi-keystone.conf
[root@linux-node1 ~] 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启动并设置开机自启动
systemctl enable httpd.service
systemctl start httpd.service
- netstat -ntlp检查服务端口是否存在
查看日志 /var/log/keystone/keystone.log 是否有报错信息
- 排错,开启debug模式
vim /etc/keystone/keystone.conf
[DEFAULT]
debug = true
OpenStack 认证服务 KeyStone部署(三)的更多相关文章
- OpenStack 认证服务 KeyStone部署 (四)
Keystone作用: 用户与认证:用户权限与用户行为跟踪: 服务目录:提供一个服务目录,包括所有服务项和相关Api的断点 SOA相关知识 Keystone主要两大功能用户认证和服务目录(相当于一个注 ...
- openstack 之~keystone部署
第一:版本信息 官网http://docs.openstack.org/newton/install-guide-rdo/keystone.html 我们按照Newton这个版本来部署,opensta ...
- openstack之keystone部署
前言 openstack更新频率是挺快的,每六个月更新一次(命名是是以A-Z的方式,Austin,Bexar...Newton).博主建议大家先可一种版本研究,等某一版本研究透彻了,在去研究新的版本. ...
- Openstack_O版(otaka)部署_认证服务keystone部署
安装和配置服务 1. 建keystone库建用户 在控制节点执行 mysql -uroot -p123456 CREATE DATABASE keystone; GRANT ALL PRIVILEGE ...
- 云计算管理平台之OpenStack认证服务Keystone
一.keystone简介 keystone是openstack中的核心服务,它主要作用是实现用户认证和授权以及服务目录:所谓服务目录指所有可用服务的信息库,包含所有可用服务及其API endport路 ...
- OpenStack 认证服务 KeyStone 服务注册(五)
创建服务实体和API端点 创建服务 openstack service create --name keystone --description "OpenStack Identity&qu ...
- OpenStack 认证服务 KeyStone连接和用户管理(四)
连接keystone两种方式: 一种使用命令 一种使用环境变量 1.通过环境变量方式连接keystone(适合在初始化场景使用) 配置认证令牌环境变量 export OS_TOKEN=07081849 ...
- OpenStack 认证服务 KeyStone连接和用户管理(五)
一) 创建环境变量链接keyston vim adminrc export OS_USERNAME=admin export OS_PASSWORD=redhat export OS_PROJECT_ ...
- OpenStack 认证服务 KeyStone 服务注册(六)
一)检查keystone是否安装配置成功 1.1删除环境变量的配置 unset OS_AUTH_URL redhat 1.2 请求令牌认证 admin用户,请求认证令牌 openstack --os- ...
随机推荐
- 关于如何使用Microsoft Word发博客
关于如何使用Microsoft Word发博客 PS:以Microsoft Word 2010为例作具体操作,实际上Microsoft Word 2007也可以完成该功能,略有差异,但是只能是20 ...
- shiro+springmvc 都使用缓存
基于涛哥shiro案例16 的这时候要配置service方法的缓存 在spring-config.xml添加 <context:annotation-config /> <cache ...
- “吃神么,买神么”的第三个Sprint冲刺总结
第三阶段Spring的目标以及完成情况: 时间:6.16——6.26(10天) 目标:第三阶段主要是前台设计的修改完善,以及数据库成功连接,完成小部分功能 情况:前台界面完善,完成小部分功能(发布功能 ...
- C++操作mysql方法总结(3)
C++通过mysql++操作mysql的方式 使用vs2013和64位的msql 5.6.16进行操作 项目中使用的数据库名和表数据请参考C++操作mysql方法总结(1)中的介绍 Mysql ...
- 软工网络15团队作业8——Beta阶段冲刺合集
博客链接集合 Beta阶段敏捷冲刺计划博客 Beta阶段冲刺第一天 Beta阶段冲刺第二天 Beta阶段冲刺第三天 Beta阶段冲刺第四天 Beta阶段冲刺第五天
- C语言词频统计设计
项目需求: 1.设计一个词频统计小软件,对给定的英文文章进行单词频率的统计. 2.文章中相应的标点不计入统计. 3.将统计结果以从大到小的排序方式输出. 设计: 1.因为功能相对简单,采用C语言直接进 ...
- Delphi函数的out、var等关键字的作用,和使用场景
问题描述 Delphi函数的out.var等关键字的作用,和使用场景 Delphi函数的out.var等关键字的作用,和使用场景,我知道var是作为传值调用,但是像out这个关键字又是什么作用呢? 解 ...
- [转帖]高通推出八核笔电处理器骁龙8cx 能超英特尔吗?
高通推出八核笔电处理器骁龙8cx 能超英特尔吗? https://baijiahao.baidu.com/s?id=1619154699684981202&wfr=spider&for ...
- From 百度知道 SQLSERVER 字符集排序规则简单说明
https://zhidao.baidu.com/question/390314825002277485.html 学习一下, 以后说不定用得到. collate Latin1_General_CS_ ...
- Hadoop 2.6.0 HIVE 2.1.1配置
我用的hadoop 是2.6.0 版本 ,hive 是 2.1.1版本进入:/home/zkpk/apache-hive-2.1.1-bin/执行hive 后报错: (1)Exception in t ...