Keystone作用:

  1. 用户与认证:用户权限与用户行为跟踪;
  2. 服务目录:提供一个服务目录,包括所有服务项和相关Api的断点
  3. 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被从常规的访问中分离。

一) 安装memcached缓存

1.1 安装软件包

yum install memcached python-memcached -y

1.2 修改memcached配置

vim /etc/sysconfig/memcached
OPTIONS="10.0.0.101"

1.3.启动服务

# systemctl enable memcached.service
# systemctl start memcached.service

1.4  netstat -ntlp检查服务端口是否存在

二)安装keystone

2.1 安装keystone软件包

yum install openstack-keystone httpd mod_wsgi -y

2.2 修改配置文件

vim /etc/keystone/keystone.conf 

在[database]部分,配置数据库访问:
[database]
connection = mysql+pymysql://keystone:redhat@controller/keystone 在[token]部分,配置Fernet UUID令牌的提供者
提供令牌有四种方式[fernet|pkiz|pki|uuid]默认是uuid。
[token]
provider = fernet
driver = memcache 在[memcache]部分,配置memcache的连接地址和端口
[memcache]
servers = 10.0.100.101:

3.3  初始化数据库

su -s /bin/sh -c "keystone-manage db_sync" keystone

自动找到keystone配置文件里的mysql连接,来帮我们创建数据库中的表。
我们为什么要使用keystone用户去同步数据库呢?
因为同步数据库会在/var/log/keystone目录下去写日志,如果使用root权限同步,当keystone用户启动服务时读取这个日志文件,那么它将无法进行读取(权限问题),会出现启动错误的情况。

检查表是否创建成功

mysql -uroot -predhat -e "use keystone;show tables;" 
提示:如果查看表的时候发现没有,通过日志/var/log/keystone/keystone.log排查报错信息。

 3.4 初始化Fernet keys

创建相关的证书
 # keystone-manage fernet_setup --keystone-user keystone --keystone-group keystone

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

3.5 引导服务标识

keystone-manage bootstrap --bootstrap-password redhat \
--bootstrap-admin-url http://controller:35357/v3/ \
--bootstrap-internal-url http://controller:35357/v3/ \
--bootstrap-public-url http://controller:5000/v3/ \
--bootstrap-region-id RegionOne

三).apache配置

3.1 配置/etc/httpd/conf/httpd.conf文件,配置ServerName 选项为控制节点

vim /etc/httpd/conf/httpd.conf
ServerName controller

3.2 配置链接文件

# ln -s /usr/share/keystone/wsgi-keystone.conf /etc/httpd/conf.d/

3.3 apache启动并设置开机自启动

# systemctl enable httpd.service
# systemctl start httpd.service

3.4 keytone排错思路

查看日志 /var/log/keystone/keystone.log 是否有报错信息
开启debug模式
vim /etc/keystone/keystone.conf
[DEFAULT]
debug = true

OpenStack 认证服务 KeyStone部署 (四)的更多相关文章

  1. OpenStack 认证服务 KeyStone部署(三)

    Keystone 介绍 Keystone作用: 用户与认证:用户权限与用户行为跟踪: 服务目录:提供一个服务目录,包括所有服务项和相关Api的断点 SOA相关知识 Keystone主要两大功能用户认证 ...

  2. OpenStack 认证服务 KeyStone连接和用户管理(四)

    连接keystone两种方式: 一种使用命令 一种使用环境变量 1.通过环境变量方式连接keystone(适合在初始化场景使用) 配置认证令牌环境变量 export OS_TOKEN=07081849 ...

  3. openstack 之~keystone部署

    第一:版本信息 官网http://docs.openstack.org/newton/install-guide-rdo/keystone.html 我们按照Newton这个版本来部署,opensta ...

  4. openstack之keystone部署

    前言 openstack更新频率是挺快的,每六个月更新一次(命名是是以A-Z的方式,Austin,Bexar...Newton).博主建议大家先可一种版本研究,等某一版本研究透彻了,在去研究新的版本. ...

  5. Openstack_O版(otaka)部署_认证服务keystone部署

    安装和配置服务 1. 建keystone库建用户 在控制节点执行 mysql -uroot -p123456 CREATE DATABASE keystone; GRANT ALL PRIVILEGE ...

  6. OpenStack 认证服务 KeyStone连接和用户管理(五)

    一) 创建环境变量链接keyston vim adminrc export OS_USERNAME=admin export OS_PASSWORD=redhat export OS_PROJECT_ ...

  7. 云计算管理平台之OpenStack认证服务Keystone

    一.keystone简介 keystone是openstack中的核心服务,它主要作用是实现用户认证和授权以及服务目录:所谓服务目录指所有可用服务的信息库,包含所有可用服务及其API endport路 ...

  8. OpenStack 认证服务 KeyStone 服务注册(五)

    创建服务实体和API端点 创建服务 openstack service create --name keystone --description "OpenStack Identity&qu ...

  9. OpenStack 认证服务 KeyStone 服务注册(六)

    一)检查keystone是否安装配置成功 1.1删除环境变量的配置 unset OS_AUTH_URL redhat 1.2 请求令牌认证 admin用户,请求认证令牌 openstack --os- ...

随机推荐

  1. Java Zip压缩

    1.压缩文件或整个目录 // ZipCompression.java import java.io.File;import java.io.FileInputStream;import java.io ...

  2. hadoop压缩和解压

    最近有一个hadoop集群上的备份需求.源文件有几百G,如果直接复制太占用磁盘空间.将文件从hadoop集群下载到本地,压缩之后再上传到hadoop则太耗时间.于是想到能否直接在HDFS文件系统上进行 ...

  3. 题解【luogu1073 最优贸易】

    Solution 考虑原图是 DAG 时怎么做. 拓扑排序 + dp ,令 dp[i] 表示 \(1\) 到 \(i\) 的路径上最小的卖出价格.转移方程就是对每一个可以到达这个点的 dp 取个 mi ...

  4. template.js的使用心得

    template.js是一款JavaScript模板引擎,用来渲染页面的. 原理:提前将Html代码放进编写模板 <script id="tpl" type="te ...

  5. maven中jar包的maven地址查询

    在网站 https://mvnrepository.com/ 中查找.

  6. HDU 5868 Different Circle Permutation Burnside引理+矩阵快速幂+逆元

    题意:有N个座位,人可以选座位,但选的座位不能相邻,且旋转不同构的坐法有几种.如4个座位有3种做法.\( 1≤N≤1000000000 (10^9) \). 题解:首先考虑座位不相邻的选法问题,如果不 ...

  7. 【BZOJ】1705: [Usaco2007 Nov]Telephone Wire 架设电话线

    [题意]给定一排n根杆高度hi,一个常数C,杆升高x的代价为x^2,相邻两杆之间架设电话线代价为高度差*C,求总代价最小. [算法]DP+辅助数组优化 [题解]令f[i][j]表示第i根杆高度为j的最 ...

  8. 【STSRM10】dp只会看规律

    [算法]区间DP [题意]平面上有n个点(xi,yi),用最少个数的底边在x轴上且面积为S的矩形覆盖这些点(在边界上也算覆盖),n<=100. [题解]随机大数据下,贪心几乎没有错误,贪心出奇迹 ...

  9. Python学习笔记 - day11 - Python操作数据库

    MySQL的事务 MySQL的事务支持不是绑定在MySQL服务器本身,而是与存储引擎相关,MySQL的两种引擎如下: 1.MyISAM:不支持事务,用于只读程序提高性能 2.InnoDB:支持ACID ...

  10. LINUX内核面试题摘选

    转载:http://blog.csdn.net/zm1_1zm/article/details/77231197 1) Linux中主要有哪几种内核锁? 答:Linux的同步机制从2.0到2.6以来不 ...