Apache StratOS Cartridges 介绍及部署方式

Cartridge

简介

Cartridge是一个基于IaaS 的虚拟机 (VM),其中包含了和Stratos PaaS进行交互的组件。Stratos 提供了在OpenStack和Amazon EC2上开箱即用的PHP,MySQL和Tomcat等cartridge。此外,Strato支持任何可插拔的cartridge,包括以下几类︰数据、负载平衡器、应用框架和应用程序。Cartridg因操作系统 (OS) 和 IaaS 不同而不同,因此,你需要为每个OS 和 IaaS 创建自定义的Cartridge。Stratos中所有的cartridge都为云应用程序提供了非常安全OS级的隔离环境。cartridge可以运行于两种模式 :单租户模式和多租户模式。Cartridge的类型不同源于创建它的方法:通用Cartridge和完全配置Cartridge。如果需要,您可以使用配置工具(如Puppet、Chef等)使得cartridge创建过程自动化。

Cartridge实例

在一个运行的Stratos环境中,每个虚拟机(VM)或Docker容器被认为是一个cartridge实例。

Cartridge模式

可以用单租户或多租户方式来创建cartridge,在下面的小节阐述了这些cartridge类型

单租户cartridge

在Apache Stratos中,单租户应用程序部署时,其中包含了一个或多个单租户cartridge。租户用户登录到应用程序,系统为应用程序中的每个cartridge创建单独的cartridge实例,从而,提供用户进程级别的隔离,并提供用户专用的实例。单租户用户可以映射到一个或多个cartridge实例

多租户cartridge

在 Stratos中,多租户应用程序包含一个或多个多租户cartridge,允许多个租户共享单个cartridge实例。即使租户用户共享单个cartridge实例,用户的处理也是由隔离的程序代码安全地单独处理的。用户必须注册到应用程序后,才能够使用该应用程序。

Cartridge创建方式

Apache Stratos允许DevOps使用完全配置cartridge方式或通用cartridge方式来创建cartridge。上述提到的cartridge创建方式,在下面的小节中法进行解释和分析。

通用cartridge

通用cartridge是指在生成一个cartridge实例后,在已运行的情况下,在cartridge实例中安装所需的软件。通用cartridge是一个只含基础操作系统(OS)镜像和预装有安装脚本的Puppet代理 (PA)的cartridge。创建一个cartridge所涉及的具体步骤取决于所使用 IaaS。有关创建一个cartridge的详细信息,请参阅创建一个新的cartridge章节。

如何工作?

当用户注册到应用,该应用具有一个或多个通用cartridge,云控制器将加载的基础数据发送到 IaaS,接着IaaS使用和应用对应的通用cartridge快照来启动cartridge实例。在cartridge实例启动时,启动脚本 (例如,init.sh) 在cartridge内的自动执行,并且启动Puppet代理程序,Pupput代理将和Puppet主节点交互,然后,在cartridge中安装cartridge代理和所需软件。此后,cartridge代理与Stratos交互,来执行所需的操作。

完全配置cartridge

完全配置cartridge也可认为是预先配置cartridge,其中所有的软件和配置都事先预制好了。完全配置的cartridge包括基础的操作系统 (OS)镜像,安装脚本,所需的软件,Puppet代理 (PA) 和cartridge代理 (CA)。Puppet代理将与Puppet主节点交互,当实例中的软件和Puppet主节点上软件之间有区别时,获取所需的软件更新。创建一个cartridge所涉及的具体步骤取决于所使用的IaaS。有关创建一个cartridge的详细信息,请参阅创建一个新的cartridge章节。

如何工作?

当用户注册到应用,该应用具有一个或多个预先配置的cartridge,云控制器将加载的基础数据发送到 IaaS,接着IaaS使用和应用对应的预先配置cartridge快照来启动cartridge实例。在cartridge实例启动时,启动脚本 (例如,init.sh) 在cartridge内的自动执行,并且启动cartridge代理程序,cartridge代理和Stratos交互,来执行所需的操作。Puppet代理只与Puppet主节点交互,获取所需的软件更新。

总体比较

Apache Stratos提供的两种cartridge的创建方法,各有优缺点。因此,DevOps 根据其组织的需要,选择最合适的cartridg创建方法。

所有的应用程序和配置已预先配置的完全配置cartridge方式,DevOps可以比通用cartridge方式更快地生成cartridge实例。然而,由于通用cartridge并不拥有任何特定的应用程序和配置,DevOps可以使用同一cartridge生成不同类型的cartridge实例,而不需要为每个cartridge类型创建单独的cartridge镜像。

若要了解如何在虚拟机和Docker上创建一个cartridge,请参阅创建一个新的cartridge章节。


Cartridge部署

最初,当添加一个cartridge,DevOps必须通过CLI、 Web UI 或 REST API使用cartridge.json来定义cartridge,并将其发送到 Stratos管理器。此后,Stratos管理器发送cartridge定义到云控制器 (CC)要求添加cartridge。云控制器根据cartridge镜像ID进行验证 (例如,EC2上一个亚马逊机器镜像 [AMI])。如果cartridge已经存在,云控制器删除现有的cartridge并将已修改配置后的新cartridge添加进去。如果不存在cartridge,云控制器开始添加cartridge的过程,云控制器将cartridge定义添加到其内存中的数据结构,并持久化记录到其注册表,此后,云控制器更新拓扑结构的服务定义,并将拓扑事件发布到消息代理 (MB)。

时间: 2024-08-06 11:55:28

Apache StratOS Cartridges 介绍及部署方式的相关文章

1.Apache StratOS介绍

关于Apache Stratos ApacheStratos介绍 平台即服务(PaaS)是云计算的一种模式,通过PaaS给开发人员提供平台和环境,使得他们可以通过互联网进行应用开发和构建工作.Apache Stratos是源于Apache社区的PaaS框架,用于解决当前PaaS所面临的不同挑战.同时,也充当多种不同类型PaaS平台的基础,例如:Application PaaS(aPaaS).Integration PaaS(iPaaS)和Data PaaS(dPaaS). Stratos可以部署

Apache Spark探秘:三种分布式部署方式比较

目前Apache Spark支持三种分布式部署方式,分别是standalone.spark on mesos和 spark on YARN,其中,第一种类似于MapReduce 1.0所采用的模式,内部实现了容错性和资源管理,后两种则是未来发展的趋势,部分容错性和资源管理交由统一的资源管理系统完成:让Spark运行在一个通用的资源管理系统之上,这样可以与其他计算框架,比如MapReduce,公用一个集群资源,最大的好处是降低运维成本和提高资源利用率(资源按需分配).本文将介绍这三种部署方式,并比

Apache Spark源码走读之7 -- Standalone部署方式分析

欢迎转载,转载请注明出处,徽沪一郎. 楔子 在Spark源码走读系列之2中曾经提到Spark能以Standalone的方式来运行cluster,但没有对Application的提交与具体运行流程做详细的分析,本文就这些问题做一个比较详细的分析,并且对在standalone模式下如何实现HA进行讲解. 没有HA的Standalone运行模式 先从比较简单的说起,所谓的没有ha是指master节点没有ha. 组成cluster的两大元素即Master和Worker.slave worker可以有1到

jenkins持续集成工作原理、功能、部署方式等介绍

超详细的jenkins持续集成工作原理.功能.部署方式等介绍 原创 波波说运维 2019-08-29 00:01:00 概述 今天简单整理了一下jenkins的一些概念性内容,归纳如下: 1.概念 jenkins是一个开源项目,提供了一种易于使用的持续集成系统,使开发者从繁杂的集成中解脱出来,专注于更为重要的业务逻辑实现上.同时 Jenkins 能实时监控集成中存在的错误,提供详细的日志文件和提醒功能,还能用图表的形式形象地展示项目构建的趋势和稳定性. Jenkins可以构建一个自动化的持续集成

WAF Web应用防火墙常见部署方式介绍

1.透明代理模式,该模式可以理解为交换机,经过的流量先被WAF处理,在到防火墙:2.反向代理,单臂模式,需要通过NAT Server将外部用户访问内网服务器的流量映射到WAF,然后在由WAF做处理后转发给服务器:反代单臂模式可支持VRRP协议,通过部署两台H3C SecPath WAF开启VRRP协议可实现双机HA模式:3.反向代理,双臂模式,WAF接口工作在三层模式,同样的方法,采用映方式将流量映射到WAF,然后在由WAF反向代理到WEB服务器:4.反向代理,链路模式牵引模式部署:该方式可旁路

Zookeeper和zkui介绍以及部署

Zookeeper和zkui介绍以及部署 ZooKeeper 顾名思义 动物园管理员,他是拿来管大象(Hadoop) . 蜜蜂(Hive) .小猪(Pig)  的管理员, Apache Hbase和 Apache Solr 以及LinkedIn sensei 等项目中都采用到了 Zookeeper.ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,ZooKeeper是以Fast Paxos算法为基础,实现同步服务,配置维护和命名服务等分布式应用.Zookeeper 作为一个分布

Apache Stratos Mock架构及持久化存储卷的映射

Apache Stratos Mock IaaS 简介 Apache Stratos 支持许多基础设施作为服务 (IaaS) 的平台:EC2,OpenStack,vCloud,CloudStack,Docker等.然而,设立IaaS 或购买公共 IaaS 服务对于尝试Stratos来说是额外的开销.此外,设置本地 IaaS 需要大量的硬件资源和购买公有云上的IaaS账户所涉及的成本.这些对尝试Stratos带来了障碍 Stratos. 通过引入Docker/Kubernetes来支持Linux容

python web服务常见的部署方式

引自 - 全面解读python web 程序的9种部署方式 python有很多web 开发框架,代码写完了,部署上线是个大事,通常来说,web应用一般是三层结构 web server ---->application -----> DB server 主流的web server 一个巴掌就能数出来,apache,lighttpd,nginx,iis application,中文名叫做应用服务,就是你基于某个web framework写的应用代码 DB server 泛指存储服务,web开发中用

Apache StratOS 云分区

云分区 下面章节详细解释何为云分区: 分区 StratOS的分区可以映射为IaaS的一个逻辑分区.这个逻辑分区可以是以下级别中的一种:Provider级别.Region级别.Zone级别或者Rack级别.一个逻辑分区至少需要定义一个Provider.逻辑分区定义时也可指定区分组.DevOps用户为了实现高可用,可以定义复合区域,将资源实例创建到不同的区域,比如不同的region.zone或者rack.例如如果将资源实例创建到EC2的不同可用ZONE,这样在其中一个ZONE出现问题时部署的应用仍然