Cloudify:一步一步部署应用到本地云环境 已翻译 100%

彭博 投递于 2012/11/27 15:33 (共 7 段, 翻译完成于 11-27)
阅读 837
收藏 3
0
加载中

前提条件:

Cloudify Shell 支持 Windows/*nix 系统,安装前确保你的环境满足以下最低要求:

  • JDK 1.6 或者更高版本
  • JAVA_HOME 环境变量指向 JDK 而不是 JRE
  • %JAVA_HOME%\bin 必须添加到系统 PATH 变量中

安装Cloudify Shell:

  1. 安装Java环境。
  2. 下载并解压Cloudify包。
  3. 进入 /tools/cli 文件夹,运行 cloudify.bat (Windows) 或者 cloudify.sh (*nix) 。
彭博
彭博
翻译于 2012/11/27 15:37
1

启动本地云环境:

要启动本地云,只需要进入 Cloudify 的 Shell 交互环境中键入bootstrap-localcloud即可。

安装的进度将显示下列作为本地云的 Cloudify 组件的启动信息:

  • The Cloudify agent—该组件运行在 Cloudify 所管理的所有机器上,用于处理启动应用服务、收集监控数据和监控可用性的一个代理
  • The management service—这是 Cloudify 负责发布进程,收集来自 Agent 各类数据的服务
  • The REST gateway service—该服务提供一个 RESTful 接口给管理服务
  • The Web management console service—该服务提供了基于 Web 的 GUI 控制台,可以用来轻松的监控应用程序
彭博
彭博
翻译于 2012/11/27 15:37
1

配置要发布的应用:

在发布应用到云环境之前,你需要先为应用做一些配置。在本例中,我们直接使用已写好的配置(单实例MongoDB服务和Tomcat服务)。

要想更进一步了解配置的详细信息以及文档,参考:

彭博
彭博
翻译于 2012/11/27 15:38
1

发布应用到本地云环境:

现在我们已经做好了相关配置,开始发布应用。在 Cloudify Shell 命令行下执行命令:

install-application -timeout 10 <cloudify root>/recipes/apps/petclinic-simple

注意:目前Cloudify Shell还不支持反斜杠(\)作为路径分隔符,所以在Windows下必须使用正斜杠(/)

在本例中我们设定了10分钟(-timeout 10)的时间来下载服务所需的可执行文件(Tomcat 和 MongoDB)并安装。另外,可以使用--verbose参数来显示更多安装过程中的信息。

安装完成后,你可以浏览http://localhost:8080/petclinic-mongo来访问 PetClinic 应用。

试着添加一些主人和宠物并搜索看看此应用是否正常运行。

彭博
彭博
翻译于 2012/11/27 15:39
1

监视已部署的应用:

使用浏览器打开http://localhost:8099进入 Web Management Console ,不用输入用户密码直接登录。 

按以下步骤测试 Cloudify Web Management Console:

  • 点击 Topology 链接,然后点击 Topology 选项卡。
  • 通过 Select Application 组合框定位到 PetClinic application。你应该会看到 PetClinic 的应用图。
  • 每个服务的实时状态和服务的实例数都会在上面显示,在应用地图上点击任意一个服务。

在下面的面板上,有几个视图可以切换:

  • Metrics视图--显示在recipe中UI配置的服务细节。
  • Infrastructure视图--显示你的应用部署在哪个虚拟主机上。
  • Service视图--显示每个服务实例和它们的各种参数。

彭博
彭博
翻译于 2012/11/27 15:42
1

应用伸缩:

Cloudify 支持两种服务伸缩方式:

1.手动伸缩
2.自动伸缩

手动伸缩

如果想手动设置服务的实例数,在 Cloudify Shell 中执行下面的命令:

set-instances service-name number-of-required-instances

为了启用手动伸缩,你必须在服务配置文件中设置elastic的值为true。

例如,执行下面的命令后,Cloudify会把tomcat服务的实例数调整为3:

set-instances tomcat 3

如果在执行此命令前tomcat服务有2个实例,这个数字会被增加到3。反之,如果执行前tomcat有5个实例,这个数字会被减少到3.

自动伸缩

Cloudify 支持给每个服务指定伸缩规则来扩大或缩小服务。 例如,Cloudify 可以通过繁忙线程的平均数量来增加或减少tomcat服务的实例数。

这里是一个tomcat服务配置代码:

service {
  name "tomcat"
  ...               
  elastic true

  numInstances 1

  minAllowedInstances 1

  maxAllowedInstances 2


  scalingRules ([
    scalingRule {
      serviceStatistics {        
    metric "Total Requests Count"
    movingTimeRangeInSeconds 20           
        statistics Statistics.maximumThroughput
      }

      highThreshold {
        value 1
    instancesIncrease 1
      }

      lowThreshold {
        value 0.2         
    instancesDecrease 1
      }
    }
  ])
}
彭博
彭博
翻译于 2012/11/27 15:43
1

卸载应用:

要卸载已发布的应用,在Cloudify Shell提示符里键入命令:uninstall-application petclinic

关闭本地云环境:

要关闭本地云环境,在Cloudify Shell提示符里键入命令:teardown-localcloud。

彭博
彭博
翻译于 2012/11/27 15:44
1
本文中的所有译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接。
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。
加载中

评论(0)

返回顶部
顶部