这是《企业私有云建设指南》的第三部分,主要介绍OpenStack的设计和部署。

2024.12 天津·和平·解放北路

计算资源

物理服务器与裸机

  1. 裸机物理服务器的角色规划
    1. 管理节点
    2. 控制节点
    3. 计算节点
    4. 存储节点
    5. 网络节点
  2. 裸机自动化配置工具
    1. Cobbler
    2. Cloudboot
    3. Inronic
  3. OpenStack裸机部署方案
    1. TripleO
    2. Kolla

Hypervisor层

Hypervisor是虚拟化技术的基础,是云计算的核心基础。Hypervisor是运行在物理服务器和操作系统之间的软件层,其主要作用在于调度虚拟客户机系统对共享物理资源的使用请求。

  1. 容器化部署OpenStack最佳实践:Kolla
  2. OpenStack编排管理Docker集群最佳实践:Magnum+Zun

存储资源

块存储

  1. 通常使用Cinder项目来实现,Cinder提供了不同存储后端的抽象统一接口
  2. 当前流行使用Ceph RBD作为私有云的块存储解决方案
  3. 商业存储方案

对象存储

  1. Swift
  2. Ceph RGW
  3. Minio

文件存储

  1. Manila
  2. 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等协议

虚拟网络

  1. 小型环境使用L3 HA
  2. 中大型环境可以使用L3 HA和DVR模式实现网络服务的高可用性

高可用与备份容灾

高可用部署

  1. 控制服务高可用
    1. 基于Keepalived与HAProxy的高可用解决方案
    2. 基于Pacemaker与HAProxy的高可用解决方案
  2. 网络服务高可用
    1. L3 HA高可用解决方案
    2. DVR高可用解决方案
  3. 存储服务高可用
    1. 使用Ceph分布式存储解决方案
  4. 计算服务高可用
    1. Pacemaker_remote计算服务高可用解决方案

备份与恢复

  1. 数据库的备份与恢复
  2. 配置文件的备份与恢复
  3. 实例备份与恢复
  4. 卷快照与备份

异地容灾

  1. 跨Region冷备DR Multi-Cloud Cold DR
  2. 跨Region半热备DR Multi-Cloud Warm DR
  3. 跨Region热备DR Multi-Cloud Hot DR
  4. 跨Region热备HA Multi-Cloud Hot HA

其他

多租户支持

  1. 计算资源的多租户隔离
  2. 存储资源的多租户隔离
  3. 网络资源的多租户隔离

规模性支持

  1. 计算节点规模性支持 Nova Cell V2
  2. 网络服务规模性支持 Neutron DVR
  3. 存储服务规模性支持

混合云

云安全

最佳实践

自动化与DevOps

  1. Ansible、SaltStack等自动化运维工具的组合使用
  2. 基于Docker容器的微服务架构和容器化私有云
  3. Kolla的应用,集成CI/CD

中心化日志与可视化

中心化日志监控与检索

  1. EFK架构

性能数据监控与可视化

  1. Collectd、influxDB与Grafana组合
  2. Zabbix与Grafana组合

网络监控与可视化

  1. Skydive项目

容器化部署规划

容器存储驱动

  1. Device Mapper
  2. OverlayFS
  3. ZFS

容器存储卷

  1. 将/var/lib/docker目录外挂为高性能专用存储介质
  2. 挂载点的外置存储具备高可用性
  3. 预留充足可用空间

集群环境清除

使用kolla-ansible提供的destroy命令实现

自定义配置部署

使用kolla-ansible进行配置

自定义镜像编译