Projects
概念架构 (Conceptual Architecture)
逻辑架构 (Logical Architecture)OpenStack is a cloud operating system that controls large pools of compute, storage, and networking resources throughout a datacenter, all managed through a dashboard that gives administrators control while empowering their users to provision resources through a web interface.
OpenStack,1化N,通过虚拟化的方式提供灵活高利用率的计算能力。
Hadoop,N化1,通过分布式文件系统解决单台大机器无法解决的计算和存储问题。
Core Services (6)
NAME | SERVICE | |
---|---|---|
KEYSTONE | Identity | 认证* |
GLANCE | Image | 镜像* |
NOVA | Compute | 计算* |
NEUTRON | Networking | 网络* |
CINDER | Block Storage | 块存储 |
SWIFT | Object Storage | 对象存储 |
Optional Services (13)
NAME | SERVICE | |
---|---|---|
Horizon | Dashboard | 面板* |
Heat | Orchestration | 编配 |
Ceilometer | Telemetry | 监控 |
Sahara | Elastic Map Reduce | 大数据部署 |
....... | ....... |
注 * 为本人必须安装项
- Keystone:一个公司的安全部门
- Authentication(认证) 和 Authorization(授权)
- 管理用户及其权限
- 维护 Service 的 Endpoint
- Tenant:安全部门的多个办公室
- 也叫 Project,将 OpenStack 的资源进行分组和隔离,是各个服务中的一些可以访问的资源集合
- 资源所有权属于 Project,而不是 User
- 所有 User 必须挂在 Project 里才能使用并且共享该 Project 里的资源
- User:在办公室上班的员工
- User 指代任何使用 OpenStack 的实体,可以是用户或程序
- User 可以属于多个 Project,针对每个 Project,User 拥有一个角色(Role)
- Role:安全部门内的各种权限 - Authorization(授权)
- 可以为 User 分配多个 Role
- OpenStack 默认定义了 2 种角色
- member:典型用户
- admin:超级管理用户,对所有 Project 都有完全的权限,相当于 root
- Service:被安全部门认可的职能
- Service 通过 Endpoint 暴露自己的 API
- Service 通过
policy.json
决定每个 Role 能做什么事 policy.json
默认只区分admin
和非admin
Role;若要对特定 Role 进行授权,需要修改policy.json
- Endpoint:职能办公室的入口
- User 通过 Endpoint 访问资源和执行操作
- Endpoint 包含 3 种 URL
- publicURL,可以被全局访问,外网普通服务入口 eg.http://controller:5000/v2.0
- internalURL,只能被局域网访问,内网普通服务入口 eg.http://controller:5000/v2.0
- adminURL,被从常规的访问中分离,内网管理员入口 eg.http://controller:35357/v2.0
- Keystone 分业务端口(5000)和管理端口(35357)
- Token:访问职能办公室的钥匙
- User 成功认证后由 Keystone 分配的字符串 - Authentication(认证)
- 在与其他服务交互中只需要携带 Token 即可,Token 有效期默认为 24 小时
[root@controller ~]$ ps -e | grep keystone
2385 ? 00:01:14 keystone-all