1.拓扑结构
案例中的拓扑结构采用最简单的拓扑结构,至少要两个node节点,一个当计算节点一个当控制节点。如果有需要可以加上块存储和对象存储节点。
1.1节点功能概述
本节中将逐一讲述上图中各节点的职责。
1.1.1 Controller node(控制节点)
控制节点上运行着如下重要的职责:
控制节点的作用 |
---|
Identity service (身份认证服务) |
Image service(镜像管理服务) |
management portions of Compute(计算节点的管理) |
management portion of Networking(网络的管理) |
various Networking agents (多种网络代理) |
Dashboard |
数据库、消息队列、时间同步等 |
控制节点至少要双网卡
1.1.2 Compute node(计算节点)
计算节点主要负责运行hypervisor(仲裁和控制VM访问实际底层硬件的软件。 ,默认用的是KVM)和操作实例。计算节点还运行着网络代理服务,该服务能够将实例和虚拟网络链接起来,并且通过安全组的方式为实例提供防火墙服务。计算节点也需要双网卡。
1.1.3 Block Storage node(块存储节点)
块存储节点可以为实例提供宽存储和共享文件系统。为简单起见,计算节点和此节点之间的服务流量使用管理网络。 生产环境应实施单独的存储网络,以提高性能和安全性。
1.1.4 Object Storage(对象存储节点)
对象存储节点可以用来存储账户、容器、对象等内容。为简单起见,计算节点和此节点之间的服务流量使用管理网络。 生产环境应实施单独的存储网络,以提高性能和安全性。
2.网络划分
官方文档中为我们提供了以下两种虚拟网络的划分方式。
2.1 选项一:Provider networks
Provider networks主要以二层(桥接/交换)服务和网络VLAN划分提供最简单的Openstack的网络部署。本质上来讲,provider networks模式是将虚拟网络桥接到物理网络,使用物理网络的三层网络设备来实现路由。另外,还有DHCP服务为实例提供IP地址。(该网络部署方式对三层网络服务和一些高级网络服务支持缺失,如果有需要考虑使用Self-service networks的网络架构)
2.2 选项二:Self-service networks
Self-service networks选项通过3层网络(路由)服务增强了Provider networks选项,这些服务使用覆盖分段方法(如VXLAN)实现自助服务网络。 本质上,它使用NAT将虚拟网络路由到物理网络。 此外,此选项为LBaaS和FWaaS等高级服务奠定了基础。
3.硬件环境
以下硬件要求为最低硬件要求,随着虚拟机数量的增加也应当增加硬件条件。
节点 | 要求 |
---|---|
控制节点 | 1 processor, 4 GB memory, and 5 GB storage |
计算节点 | 1 processor, 2 GB memory, and 10 GB storage |
官方建议首次安装使用虚拟机的进行安装实验。
4.安全性设计
Openstack支持密码、策略、加密等多种安全策略,另外数据库、消息代理都支持密码作为安全验证的方式,因此,为了简化openstack的部署过程,本文中选用密码的方式进行安全验证。生成密码官方建议使用如下命令进行生成:
$ openssl rand -hex 10
所需要的密码表如下表所示:
密码名称 | 描述 |
---|---|
1.Database password (no variable used) | Root password for the database |
2.ADMIN_PASS | Password of user admin |
3.CINDER_DBPASS | Database password for the Block Storage service |
4.CINDER_PASS | Password of Block Storage service user cinder |
5.DASH_DBPASS | Database password for the Dashboard |
6.DEMO_PASS | Password of user demo |
7.GLANCE_DBPASS | Database password for Image service |
8.GLANCE_PASS | Password of Image service user glance |
9.KEYSTONE_DBPASS | Database password of Identity service |
10.METADATA_SECRET | Secret for the metadata proxy |
11.NEUTRON_DBPASS | Database password for the Networking service |
12.NEUTRON_PASS | Password of Networking service user neutron |
13.NOVA_DBPASS | Database password for Compute service |
14.NOVA_PASS | Password of Compute service user nova |
15.PLACEMENT_PASS | Password of the Placement service user placement |
16.RABBIT_PASS | Password of RabbitMQ user openstack |