初识openstack之3——opsenstack概念及实验环境介绍

前言

本系列文档按照openstack官方queens版本安装文档进行讲解,目的是通过搭建一个测试环境的openstack对其有更深入的了解。

一、openstack概念

openstack可以理解为一个云操作系统,他是将底层的物理资源抽象成一个资源池,而其上运行着每一个虚拟机(也成为实例)不需要关心自己具体在哪一个物理主机上,openstack根据其类型可以分为IaaS、PaaS、SaaS,下图是openstack的3种类型与传统架构的比较用图:
初识openstack之3——opsenstack概念及实验环境介绍
在传统架构中企业上线一套应用,从底层的硬件、网络、存储到上层应用都需要自己维护。IaaS是为客户节省了物理主机以下的成本,直接为客户提供了一个安装好的操作系统,可以在其上安装自己的应用。PaaS则更进一步的为用户提供了应用程序所需要的环境,客户只需要在其上部署应用系统。SaaS是所有的环节都由供应商提供,客户只需要有一个可以访问互联网的接口就能使用,比如office365。

二、openstack的组成

openstack是有apache软件基金会支持的开源项目,由核心组件和可选组件组成,openstack架构如下图:
初识openstack之3——opsenstack概念及实验环境介绍
其中红色框中的为核心组件,其功能为:

  1. Keystone:提供所有组件的认证及编目,按照openstack的通信流程,所有组件之间是通过消息队列异步通信,每一个组建都需要先与Keystone通信的原因就是除了认证之外还需要在Keystone处查询其他组建的API接口。
  2. Glance:为实例提供映像文件,映像文件可以存放在本地磁盘上,也可以是类似于swift的对象存储上,此处需要说明的是,每一个实例在启动时是先将映像文件下载到该实例所在节点的本地磁盘后才进行启动,当实例结束时,映像下载到本地磁盘的映像文件也随之销毁。
  3. Nova:计算节点,为没一个实例提供具体的资源。
  4. Neutron:提供网络功能,openstack最复杂的组建当属网络组件,后续中会有详细介绍。

以上是openstack的4个核心组件,用的比较多的2个可选组件为:
1.Cinder:通过上面知道当实例关闭时通过Glance下载到本地磁盘的映像文件会随着一并销毁,Cinder就是提供存放持久数据的组建。
2.Horizon:提供一个控制面板,便于管理。

另外除了上述openstack组件外,openstack的实现还需要借助于额外的组件,例如RabbitMQ,MariaDB等,逻辑结构如下图所示:
初识openstack之3——opsenstack概念及实验环境介绍

三、opsenstack间的通信

组件之间通过API相互通信,组建内部则是通过RPC(远程调用)通信,以启动一个实例进行说明,其通信的步骤为:
初识openstack之3——opsenstack概念及实验环境介绍

  1. 用户发起认证请求;
  2. Keystone认证后根据用户的角色返回令牌;
  3. 用户拿着令牌向Nova节点发起请求;
  4. Nova节点验证令牌后向Glance节点发起下载映像文件请求;
  5. Glance节点验证后将映像文件发送至Nova节点本地磁盘;
  6. Nova节点启动映像文件后在向Neutron节点发起网络连接请求;
  7. Neutron节点验证后为实例创建虚拟网络设备,并将结果反馈给Nova节点,需要注意的是,当实例结束后,创建的虚拟网络设备也会跟着销毁;
  8. Nova节点给用户反馈实力启动完成。

由上述过程可以看到,每一个组件都会先于Keystone进行通信,从而进行认证和获取其他相关组件的API。

四、实验介绍

本次实验按照官方手册说明进行,采用2节点方式,后期会引入第3个节点用于安装Cinder组件,节点配置要求如下:
初识openstack之3——opsenstack概念及实验环境介绍
此实验架构与标准最小化的openstack生产架构区别在于:

  1. 网络代理安装在控制节点上,生产环境中Neutron节点应该由1个或多个物理机组成。
  2. 在self-service网络模式下,流量走的是管理网络,升级生产环境中,所有实例的流量都会经过Neutron节点,所以该节点的性能和带宽要足够大。

初识openstack之3——opsenstack概念及实验环境介绍

五、实验拓扑

本次实验在VMwareWorkstation上进行模拟,采用CentOS7系统进行搭建,实验拓扑如下图所示:
初识openstack之3——opsenstack概念及实验环境介绍
图中172.16.80.0/24网段为管理网段,此网段在Workstation上进行NAT后可以访问公网,目的是方便下载rpm包;172.16.10.0/24网段模拟数据网段,后期创建的虚拟机实例在provider网络模式下桥接至172.16.10.0/24网段,在self-service模式下使用10.0.0.0/24网段通过172.16.80/0/24网段对外通信。

转载于:https://blog.51cto.com/arkling/2133779

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
一、Virtual Box的安装 1、安装Virtual Box 2、 Virtual Box网络设定 3、 安装操作系统 二、 环境预配置 1、 网路设置 2、 分别修改三个虚拟机的主机名 3、 主机地址映射配置 4、 禁用selinux 5、 CentOS6本地yum源配置 注:先加载镜像 6、 NTP安装服务 三、 本地源制作 1. Centos6.6本地base、extra源制作 2. 本地base、extra源制作 3. 本地epel、openstack源制作 4. ftp服务安装 5. 修改yum源仓库指向文件 四、 keystone安装(上) 1. 安装Mysql服务 2. 安装rabbitmq消息队列 3. 为nova,neutron,cinder.heat创建用户并授权 五、 keystone安装(下) 1. 创建库和授权 2. 创建库和授权 3. 生成PKI认证所需要的证书文件 4. 同步keystone数据库,生成keystone所需的表 5. 启动keystone服务和校验服务状态 6. 创cron任务,配置定期清理过期的token 7. keystone创建user,tenant,role和endpoint 六、 Glance安装 1. Glance的安装 2. 配置glance-api服务 3. 配置glance-registry服务 4. 启动并校验glance服务 57 七、 Nova安装 59 1. nova的安装与配置 59 2. 安装和配置nova 60 八、 Neutron安装 63 1. neutron的安装与配置 63 2.Neutron使用二层组件 66 3. 配置OVS二层插件 67 4. 配置nova支持neutron 67 5. 启动neutron-server服务 68 6. 重启nova服务和neutron联动 69 7. 重启neutron-server 69 8. controller0上校验neutron的配置 69 九、 Horizon安装 71 1. Horizon组件的安装与配置 71 十、 Compute0安装nova 74 1. nova的安装与配置(compute0-10.20.0.30) 74 2. nova的安装与配置 75 十一、 Compute0安装neutron 78 1. neutron的安装与配置(compute0) 78 十二、 Network0安装neutron 83 1. neutron的安装与配置 83 十三、 新建网络 91 1. 配置安全组规则 91 2. 新建网络 92 3 .创建云主机 99 4 .分配浮动ip 101 十四、 心得体会 107
OpenStack中,RabbitMQ是消息代理的核心组件,负责处理各种消息,包括API请求、队列通信和通知。为了保证高可用性和可扩展性,我们可以将RabbitMQ部署为集群。 以下是在OpenStack中部署RabbitMQ集群的步骤: 1. 安装RabbitMQ软件包 在每个节点上安装RabbitMQ软件包。可以使用以下命令进行安装: ``` sudo apt-get install rabbitmq-server ``` 2. 配置RabbitMQ 在每个节点上,编辑RabbitMQ配置文件/etc/rabbitmq/rabbitmq-env.conf,指定以下环境变量: ``` NODE_IP_ADDRESS=<本地IP> NODE_PORT=5672 CLUSTER_WITH=<其他节点IP> ``` 其中,NODE_IP_ADDRESS是本地IP地址,CLUSTER_WITH是其他节点的IP地址。这些变量将用于RabbitMQ节点间通信。 3. 启用RabbitMQ插件 在每个节点上启用RabbitMQ集群插件。可以使用以下命令启用插件: ``` sudo rabbitmq-plugins enable rabbitmq_management rabbitmq_peer_discovery_aws ``` 4. 启动RabbitMQ节点 在每个节点上启动RabbitMQ节点。可以使用以下命令启动节点: ``` sudo rabbitmq-server -detached ``` 5. 将节点加入集群 在任何一个节点上,执行以下命令将节点加入集群: ``` sudo rabbitmqctl stop_app sudo rabbitmqctl join_cluster rabbit@<其他节点名称> sudo rabbitmqctl start_app ``` 其中,<其他节点名称>是集群中的其他节点的名称。 6. 验证集群状态 在任何一个节点上,执行以下命令验证集群状态: ``` sudo rabbitmqctl cluster_status ``` 如果输出包含所有节点的信息,则集群已成功部署。 注意:在部署RabbitMQ集群时,需要确保集群节点之间的网络连接正常,并且防火墙已正确配置。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值