OpenStack 是由一系列开源软件组成,这些软件组成了一个云供给软件,也就是 OpenStack。
OpenStack 主要由以下几个核心组件组成:
- Nova 提供云计算服务、虚拟化服务,Nova本身不支持虚拟化,而是去管理底层的虚拟化(KVM或redhat)。
- Neutron 为虚拟机、计算和控制节点提供网络功能。
- Keystone 为所有云用户和 OpenStack 云服务提供身份认证服务。
- Horizon 图形用户界面。
- Cinder 提供块存储功能。
- Swift 提供对象存储功能。
- Glance 提供镜像服务。使用 Glance 的管理平台来上传和下载云镜像。
- Heat 提供编排服务或功能。使用 Heat 管理平台可以轻松地将虚拟机作为堆栈,并且根据需要可以将虚拟机扩展或收缩。
- Ceilometer 提供计量与监控功能。
除了核心组件,还有一些推荐的组件:
- zun 集成支持容器,创建和管理Docker
基础设施组件
- Collectd、Telegraf、InfluxDB、Prometheus 和 Grafana 用于性能监控。
- OpenSearch 和 OpenSearch仪表盘,用于搜索、分析和可视化日志信息。
- Etcd 一个分布式的可靠键值存储。
- Fluentd 作为一个开源的数据收集器,用于统一的日志层。
- Gnocchi 一个时间序列存储数据库。
- HAProxy 和 Keepalived 用于服务及其端点的高可用。
- MariaDB 和 Galera Cluster 用于高可用的MySQL数据库。
- Memcached 一个分布式内存对象缓存系统。
- 与Neutron 一起使用的Open vSwitch。
- RabbitMQ,作为服务间通信的消息传递后端。
- Redis 一个内存数据结构存储。