openstack系列文章(二)
学习openstack的系列文章-keystone
- openstack 架构
- Keystone 基本概念
- Keystone 工作流程
- Keystone Troubleshooting
1. openstack 架构

2. keystone 基本概念
- User: 指代任何使用 openstack 的实体,可以是真正的用户,其他系统或者服务;
- Credentials : User 用来证明自己身份的信息,可以是 用户名/密码 , Token, API Key 等;
- Authentication: 认证,Keystone 验证 User 身份的过程;
- Token: 由数字和字母组成的字符串,User 成功 Authentication 后,由 Keystone 分配给 User;
- Project : 用于将 openstack 的资源(计算、存储和网络)进行分组和隔离;
- Service: 包括Compute (Nova)、Block Storage (Cinder)、Object Storage (Swift) 、 Image Service (Glance)、Networking Service (Neutron) 等;
- Endpoint: 每个 Service 都会提供若干个 Endpoint, User 通过 Endpoint 访问资源和执行操作, Endpoint 是一个网络上可访问的地址,通常是 URL 。命令 openstack catalog list 可查看各Service 的 Endpoint:

- Role:Keystone 借助 Role 来实现 Authorization (鉴权)的,所谓 Authorization 即解决的是“你能干什么?”的问题,Keystone 定义 Role:

可以为 User 分配一个或多个 Role: Horizon Indentity -> Project -> Manage Members
Service 决定每个 Role 能做什么事情,每个Service 通过各自的 policy.json 文件对 Role 进行访问控制,Neutron 服务 /etc/neutron/policy.json 文件的示例:

3. Keystone 工作流程
3.1 登录

openstack dashboard 中输入用户名/密码 , Keystone 验证返回 Token。
3.2 显示操作界面

顶部显示 admin 可访问的 Project 为 “admin” 和 “demo”,其实在此之前发生了一些事情:

同时在 dashboard 中可以访问 Image、Network等各个服务,这是因为 admin 已经从 Keystone 拿到了各 Service 的 Endpoints:

3.3 显示 image 列表
单击 “Images” 会显示 image 列表,这一过程背后发生了一些事:
- admin 将请求发送到 Glance 的 Endpoint:

2. Glance 向 Keystone 询问 admin 身份的有效性:

3. Glance 查看 /etc/glance/policy.json,判断 admin 是否有查看 image 的权限,权限判定通过,Glance 将 image 列表发给 admin:

4. Keystone Troubleshooting
openstack 排查问题的方法主要通过日志。 Keystone 的日志保存在 /var/log/keystone 目录下:

openstack 的日志格式: <时间戳><日志等级><代码模块><Request ID><日志内容><源代码位置>
时间戳:日志记录的时间,包括 年 月 日 时 分 秒 毫秒;
日志等级: INFO WARNING ERROR DEBUG等;
代码模块: 当前运行的模块Request ID 日志会记录连续不同的操作,为了便于区分和增加可读性,每个操作都被分配唯一的Request ID,便于查找;
日志内容: 日志的主体,记录当前正在执行的操作和结果等重要信息;
源代码位置: 日志代码的位置,包括方法名称,源代码文件的目录位置和行号;
上述 log 的意思是 GET 、POST 请求 endpoint 的 token, 具体分析见这篇博文 。
参考文章:
http://www.cnblogs.com/linhaifeng/p/6266327.html
https://www.cnblogs.com/CloudMan6/p/5373311.html
openstack系列文章(二)的更多相关文章
- openstack系列文章(1)devstack安装测试Queens
1.在OpenStack 圈子中,有这么一句名言:”不要让朋友在生产环境中运行DevStack.但是初学者在没有掌握OpenStack CLI的情况下用devstack安装测试环境还是不错的.本系列文 ...
- openstack系列文章(四)
学习 openstack 的系列文章 - Nova Nova 基本概念 Nova 架构 openstack Log Nova 组件介绍 Nova 操作介绍 1. Nova 基本概念 Nova 是 op ...
- openstack系列文章(一)
学习openstack的系列文章-虚拟化 虚拟化 KVM CPU 虚拟化 KVM 内存虚拟化 全虚拟化 I/O 设备 半虚拟化 I/O 设备 I/O PCI PCIe 设备直接分配 SR-IOV 在 ...
- openstack系列文章(三)
学习openstack的系列文章-glance glance 基本概念 glance 架构 openstack CLI Troubleshooting 1. glance 基本概念 在 opensta ...
- Redis变慢?深入浅出Redis性能诊断系列文章(二)
(本文首发于"数据库架构师"公号,订阅"数据库架构师"公号,一起学习数据库技术) 本篇为Redis性能问题诊断系列的第二篇,本文主要从应用发起的典型命令使用上进 ...
- .NET性能系列文章二:Newtonsoft.Json vs. System.Text.Json
微软终于追上了? 图片来自 Glenn Carstens-Peters Unsplash 欢迎来到.NET性能系列的另一章.这个系列的特点是对.NET世界中许多不同的主题进行研究.基准和比较.正如标题 ...
- NHibernate系列文章二十八:NHibernate Mapping之Auto Mapping(附程序下载)
摘要 上一篇文章介绍了Fluent NHibernate基础知识.但是,Fluent NHibernate提供了一种更方便的Mapping方法称为Auto Mapping.只需在代码中定义一些Conv ...
- NHibernate系列文章二十七:NHibernate Mapping之Fluent Mapping基础(附程序下载)
摘要 从这一节起,介绍NHibernate Mapping的内容.前面文章都是使用的NHibernate XML Mapping.NHibernate XML Mapping是NHibernate最早 ...
- NHibernate系列文章二十五:NHibernate查询之Query Over查询(附程序下载)
摘要 这一篇文章介绍在NHibernate 3.2里引入的Query Over查询,Query Over查询跟Criteria查询类似.首先创建IQueryOver对象,然后通过调用该对象的API函数 ...
随机推荐
- (十一)T检验-第二部分
了解什么是有效大小,尝试一个单一样本t检验的完整示例. 效应量 调查研究的一个重要方面是效应量,在实验性研究中或存在处理变量的研究中,效应量是指处理效应的大小,意思很直观: 在非实验性研究中,效应量是 ...
- hive使用derby的服务模式(可以远程模式)
hive默认使用的derby的嵌入模式.这个就面临着,无法多个并发hive shell共享的问题. 使用MySQL服务器也可以解决问题,但安装.配置太麻烦了. 可以使用轻量级的derby的c/s服务模 ...
- Java 并发系列(一) ThreadPoolExecutor源码解析及理解
ThreadPoolExecutor 它是线程池最核心的类, 这里对核心的方法做简要的剖析(会持续更新),以加深对线程池运行原理的理解. 1. 核心成员变量及相关方法 // ctl非常重要,用整型表示 ...
- Linux基础命令之文件和目录操作(二)
. find 用于查找目录下的文件,也可以调用其他命令使用 find [-H] [-L] [-P] [-D debugopts] [-Olevel] [path...] [expression] fi ...
- HDFS上传数据的流程
1.当客户端输入一条指令:hdfs dfs -put text.txt /text时,这条命令会给到DistributeFileSystem. 2.通过DistributeFileSystem简称DF ...
- 20155236范晨歌_EXP3免杀原理与实践
20155236范晨歌_免杀原理与实践 免杀 概述 免杀,也就是反病毒(AntiVirus)与反间谍(AntiSpyware)的对立面,英文为Anti-AntiVirus(简写Virus AV),逐字 ...
- [SHOI2008]仙人掌图
[SHOI2008]仙人掌图 LG传送门 还不会仙人掌的同学可以看看我对仙人掌知识的一些梳理. 题意就是求仙人掌的直径,直径定义为图中最短路径最长的两点间的最短路径长度. 按照套路,先考虑求树的直径我 ...
- 2_C语言中的数据类型 (九)逻辑运算符与if语句、switch、条件运算符?、goto语句与标号
1 条件分支语句 1.1 关系运算符 在C语言中0代表false,非0代表真 1.1.1 < 小于 1.1.2 <= 小于 ...
- springmvc 解决@ResponseBody注解返回中文乱码
使用messageConverters <bean class="org.springframework.web.servlet.mvc.method.annotation.Reque ...
- 处于同一域中的两台SQL Server 实例无法连接
处于同一个域中的两台Sql server 实例无法连接,报的错误信息如下: A network-related or instance-specific error occurred while es ...