企业私有云建设指南·OpenStack
这是《企业私有云建设指南》的第三部分,主要介绍OpenStack的设计和部署。
2024.12 天津·和平·解放北路
计算资源
物理服务器与裸机
- 裸机物理服务器的角色规划
- 管理节点
- 控制节点
- 计算节点
- 存储节点
- 网络节点
- 裸机自动化配置工具
- Cobbler
- Cloudboot
- Inronic
- OpenStack裸机部署方案
- TripleO
- Kolla
Hypervisor层
Hypervisor是虚拟化技术的基础,是云计算的核心基础。Hypervisor是运行在物理服务器和操作系统之间的软件层,其主要作用在于调度虚拟客户机系统对共享物理资源的使用请求。
- 容器化部署OpenStack最佳实践:Kolla
- OpenStack编排管理Docker集群最佳实践:Magnum+Zun
存储资源
块存储
- 通常使用Cinder项目来实现,Cinder提供了不同存储后端的抽象统一接口
- 当前流行使用Ceph RBD作为私有云的块存储解决方案
- 商业存储方案
对象存储
- Swift
- Ceph RGW
- Minio
文件存储
- Manila
- NFS、CIFS、GlusterFS 或者HDFS
网络资源
在OpenStack私有云中,网络资源主要通过Neutron项目来实现。它主要实现了OpenStack私有云中网络二层和三层功能,DNS则由专门的项目Designate实现,网络负载均衡功能由项目Octavia实现。
Neutron项目中,网络服务使用Neutron-Server进程提供服务API,用户通过Neutron-Server提供的API进行网络插件的管理配置。Neutron是一个由分布式组件构成的网络服务,其内部组件包括Neutron-Server、插件代理、DHCP代理、L3代理和计量代理。此外,通过插件形式,Neutron还提供了高级服务。Neurton中的插件是可插拔的Python类和函数,通过API响应请求而触发,其中最成功的就是Module Layer2,即ML2插件。
在OpenStack私有云网络中,物理网络被称为供应商网络(Provider Network),虚拟网络称为自助服务网络(Self-service Network),虚机可以通过供应商网络直接接入数据中心二层物理网络,从而形成大二层网络,三层功能则由物理路由设备实现。
物理网络
拓扑简单、性能优异、可靠性好、故障排除简单,但功能僵化、无法提供高阶应用,不支持VXLAN、GRE等协议
虚拟网络
- 小型环境使用L3 HA
- 中大型环境可以使用L3 HA和DVR模式实现网络服务的高可用性
高可用与备份容灾
高可用部署
- 控制服务高可用
- 基于Keepalived与HAProxy的高可用解决方案
- 基于Pacemaker与HAProxy的高可用解决方案
- 网络服务高可用
- L3 HA高可用解决方案
- DVR高可用解决方案
- 存储服务高可用
- 使用Ceph分布式存储解决方案
- 计算服务高可用
- Pacemaker_remote计算服务高可用解决方案
备份与恢复
- 数据库的备份与恢复
- 配置文件的备份与恢复
- 实例备份与恢复
- 卷快照与备份
异地容灾
- 跨Region冷备DR Multi-Cloud Cold DR
- 跨Region半热备DR Multi-Cloud Warm DR
- 跨Region热备DR Multi-Cloud Hot DR
- 跨Region热备HA Multi-Cloud Hot HA
其他
多租户支持
- 计算资源的多租户隔离
- 存储资源的多租户隔离
- 网络资源的多租户隔离
规模性支持
- 计算节点规模性支持 Nova Cell V2
- 网络服务规模性支持 Neutron DVR
- 存储服务规模性支持
混合云
云安全
最佳实践
自动化与DevOps
- Ansible、SaltStack等自动化运维工具的组合使用
- 基于Docker容器的微服务架构和容器化私有云
- Kolla的应用,集成CI/CD
中心化日志与可视化
中心化日志监控与检索
- EFK架构
性能数据监控与可视化
- Collectd、influxDB与Grafana组合
- Zabbix与Grafana组合
网络监控与可视化
- Skydive项目
容器化部署规划
容器存储驱动
- Device Mapper
- OverlayFS
- ZFS
容器存储卷
- 将/var/lib/docker目录外挂为高性能专用存储介质
- 挂载点的外置存储具备高可用性
- 预留充足可用空间
集群环境清除
使用kolla-ansible提供的destroy命令实现
自定义配置部署
使用kolla-ansible进行配置
自定义镜像编译
All articles on this blog are licensed under CC BY-NC-SA 4.0 unless otherwise stated.