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函数 ...
随机推荐
- 1415. [NOI2005]聪聪和可可【记忆化搜索DP】
Description Input 数据的第1行为两个整数N和E,以空格分隔,分别表示森林中的景点数和连接相邻景点的路的条数. 第2行包含两个整数C和M,以空格分隔,分别表示初始时聪聪和可可所在的景点 ...
- 【CF163E 】e-Government
题目 两个\(log\)的树状数组套树剖? 我们对于给出的\(n\)个模式串建立\(AC\)自动机,之后对于每一个询问串直接丢上去匹配 如果这里是暴力的话,我们直接一路跳\(fail\)累加作为结束位 ...
- 【洛谷】【搜索(dfs)】P1363 幻想迷宫
[题目描述:] 幻象迷宫可以认为是无限大的,不过它由若干个N*M的矩阵重复组成.矩阵中有的地方是道路,用'.'表示:有的地方是墙,用'#'表示.LHX和WD所在的位置用'S'表示.也就是对于迷宫中的一 ...
- centos7下部署iptables环境纪录(关闭默认的firewalle)(转)
下面介绍centos7关闭firewall安装iptables,并且开启80端口.3306端口的操作记录:[root@localhost ~]# cat /etc/redhat-release Cen ...
- Spring MVC 入门笔记
主要名词解释 DispatcherServlet 前端控制器 相当于一个转发器 入口: protected void doDispatch(HttpServletRequest request, H ...
- springboot activiti 整合项目框架源码 druid 数据库连接池 shiro 安全框架
官网:www.fhadmin.org 工作流模块---------------------------------------------------------------------------- ...
- iOS 内存管理之属性关键字
你好2019!一起努力呀! 主要分三种类型: 1.原子操作相关: nonatomic.atomic nonatomic:非原子操作,对属性赋值的时候不加锁,多线程并发访问会提高访问效率 atomic: ...
- vue请求本地自己编写的json文件。
1.第一步,这是目录结构 2.接下来是build/webpack.dev.conf.js文件需要配置的内容 代码: //vue配置请求本地json数据const express = require(' ...
- PyCharm编辑HTML文件时输入{%不能自动补全
在PyCharm编辑HTML文件时输入Django模板语言时,发现录入 {% 不能自动补全. 找了一下,发现 setting 里可以设置 Python Template Languages,选择自己使 ...
- ABAP术语-Authorization Profile
Authorization Profile 原文:http://www.cnblogs.com/qiangsheng/archive/2007/12/21/1008992.html Element o ...