说道os的架构,那真是庞大无比,只要我们理解组成机制,也还好。我们先来看一下整体的概念架构图:
该图来源于os官方网站,我们继续看:
我们接着用os官方提供的例子架构部署验证可用性,生产环境应该用哪种架构,请看详细架构,你可以移步:
https://docs.openstack.org/arch-design/
这个demo架构和经典的生产环境架构不同之处在于:网络代理驻留在控制器节点上,而不是一个或多个专用网络节点上。
我们看一下demo架构:
以上是基本的demo架构和Hardware requirements。
我们分别看一下他们的含义:
Controller
控制器节点运行身份服务,镜像服务,位置服务,计算管理部分,网络管理部分,各种网络代理和仪表板服务,同样也包含其他一些支持性的服务,像sql数据库服务,NTP服务和消息队列服务。至于块存储,对象存储,监控服务以及编排服务可以不用部署在控制器节点上,如果没有必要的话。
控制器节点至少需要两个网卡,如果你要部署的话。
Compute
计算节点就是我们的Hypervisor部分了,它可以操作实例的生命周期的管理。我们计算节点默认的Hypervisor是KVM,同时计算节点包含有网络服务的代理,用来处理虚拟机的虚拟网络以及安全组的处理。每个计算节点至少需要两个网卡,而且你可以部署不止一个计算节点。
Block Storage
块存储服务的部署不是必须的,他们给虚拟机提供块存储设备,同时共享文件系统存储服务也可以使用。块存储服务网络既可以和主机管理网是同一个网络,也可以是单独的隔离的网络,这样性能、安全性会好点。同样该服务也可以部署多个节点,也至少需要一个网卡。
Object Storage
对象存储也不是必须部署的服务组件,它提供了accounts, containers, and objects的存储,该组件也可以和管理网共用一个网络,当然最好使用隔离的网络。
该服务部署需要两个节点,至少一个网卡,你也可以部署不止两个节点的对象存储服务。
Networking
网络部署形式比较多,一种是扁平网络,利用桥接技术结合vlan实现和物理网络打通的l2层链路,使用物理链路的路由,这也是underlay网络,但是无法支持防火墙以及负载均衡服务;另一种是overlay 网络。
underlay的典型组件部署如下:
overlay网络如下:
多了一个l3 agent 组件服务,overlay网络提供了注入vxlan的网络,使用nat打通虚拟机网络和外部网络的连通性,同样也可以使用vlan隔离租户的网络。
接下来我们具体看看如何部署各个组件,先来看看控制节点和一个计算节点的部署。
环境要求:
-
Controller Node: 1 processor, 4 GB memory, and 5 GB storage
-
Compute Node: 1 processor, 2 GB memory, and 10 GB storage
待续