OpenStack本身是一个分布式系统,不仅各服务可以分布部署,服务中的各个组件也可以分布部署。龚总组成一个庞大的Openstack。
基础架构
![image.png](https://cdn.nlark.com/yuque/0/2020/png/546986/1589544739913-aedf3542-09a7-4851-b880-e5945028ca1d.png#align=left&display=inline&height=216&margin=%5Bobject%20Object%5D&name=image.png&originHeight=377&originWidth=864&size=86760&status=done&style=none&width=493)
在这里,OpenStack为虚拟机提供并管理的三大资源类型:计算,网络,存储。
需要注意的是,OpenStack提供资源接口(APIs)展示到web界面上
核心架构
核心服务:
Keystone:认证服务,为各种服务提供认证和权限管理服务
Glance:镜像服务,管理VM启动时的镜像
Nova:计算服务,管理VM的生命周期(创建删除暂停虚拟机)
Neutron:网络服务,网络服务,提供网络连接服务,负责为VM创建L2和L3网络
(L2:虚拟交换机;L3:虚拟路由器)
Cinder:块存储服务,Cinder的每一个Volume对于VM都像一块Disk
Swift:对象存储服务,VM通过Restful API存储对象数据(可选)
可选服务:
Ceilometer:监控计量服务,为报警、统计或计费提供数据
Heat:编排服务,管理编排资源,完成编排任务
Horizon:为Openstack用户提供一个Web的自服务Portal
Telemetry:收集服务,对计量数据进行服务
Trove:数据库服务,将数据库引擎提供到云上
Zun:管理容器的生命周期
问题:
- 服务之间如何通信??restful api
- 服务组件和组件之间如何通信的??消息队列(queue)