使用 WebSphere CloudBurst 环境概要文件定制部署行为

在使用 WebSphere® CloudBurst™ 时,自助访问和定制功能是关键主题。多个用户可以对映像构造、模式构建和模式部署应用多种定制技术,从而创建和供应独特的中间件应用程序环境。WebSphere CloudBurst 的最新版本扩展了定制功能的范围,让单一设备能够支持用户的各种部署需求。用户可以使用新的环境概要文件特性影响组件在虚拟系统中的安置、对虚拟机应用自己的命名约定以及为系统中的每个虚拟机提供主机名配置。

Dustin Amrhein, 技术推广专家, IBM

作者照片Dustin Amrhein 刚加入到 IBM 时是一名 WebSphere Application Server 开发团队的成员。在担任此职位期间,Dustin 从事 Web 服务基础设施以及 Web 服务编程模型的开发。此外,Dustin 负责 Java RESTful 服务框架开发的技术工作。Dustin 目前担任的角色是 IBM 的 WebSphere 产品组合中的新兴技术的推广者。他目前主要关注交付云计算功能的 WebSphere 技术,包括 WebSphere CloudBurst Appliance。


developerWorks 专家作者

Jose Ortiz, 软件架构师, IBM

Jose 曾经专注于 WebSphere 系列中的许多产品。过去 5 年,他参与了利用虚拟化平台简化软件配置和部署的解决方案设计。目前,Jose 正在设计和实现 WebSphere CloudBurst Appliance 中的各个子系统,从映像管理到部署,再到最近的环境概要文件。



2011 年 1 月 06 日

简介

WebSphere CloudBurst Appliance 是一个云管理设备,它管理在私有云中运行的虚拟化中间件应用程序环境的完整生命周期。可以使用这个设备在内部(on-premise)云中创建、部署和管理应用程序环境。它们当然是您自己的 应用程序环境,所以需要进行定制。

WebSphere CloudBurst 提供多种定制功能,确保您能够创建满足自己需要的应用程序环境。您可以构建自己的定制虚拟映像,在其中包含额外的软件或修改操作系统配置。可以构建定制的模式,模式表示应用程序环境的拓扑(节点的数量和类型)以及配置(应用程序和应用程序资源)。另外,由于每个部署都至少有一点儿独特之处,WebSphere CloudBurst 提供了定义部署参数的功能,让您能够为每个环境提供独特的信息。

定制功能一直是 WebSphere CloudBurst 的设计和实现的核心主题之一。环境概要文件(Environment profile) 是 WebSphere CloudBurst 2.0.0.2(2010 年 10 月)中引入的新资源,它们扩展了定制功能,让用户不只是能够创建基于定制映像的定制模式。除了能够创建定制的环境之外,现在还可以通过应用定制影响这些环境的交付过程。

在深入讨论环境概要文件之前,有必要了解可以使用这些新资源定制的传统部署过程。图 1 说明 WebSphere CloudBurst 中传统的模式部署过程。首先,设备使用一种智能的安置算法把虚拟机放在目标云组中的系统管理程序上,这种算法会考虑计算资源可用性、高可用性和软件许可成本等因素。接下来,设备通过适当的虚拟映像创建虚拟机,把取自用户定义的池的惟一 IP 地址注入每个虚拟机。最后,它启动虚拟机和中间件软件组件(比如 WebSphere Application Server),然后运行模式中包含的用户定义的任何脚本。

图 1. WebSphere CloudBurst 部署过程
WebSphere CloudBurst 部署过程

设备自动地执行上述部署过程中的每个步骤,结果是用户会得到适合使用的应用程序环境,而不需要任何手工干预。这个设备能够使应用程序环境的部署和配置完全自动化,这是它的关键好处,因为它会节省时间和显著提高部署的一致性。但是,在某些情况下,可能希望影响 WebSphere CloudBurst 部署过程的行为,而不只是使用一套自动的部署脚本和定制的映像。例如,可能希望进一步控制虚拟机到物理机器的映射,或者希望更确定地把 IP 地址分配给虚拟机。环境概要文件提供了实现这些定制任务的方法。


环境概要文件是什么?

WebSphere CloudBurst Appliance 为在私有云中运行的中间件应用程序环境提供一种自助访问模式。通常,组织中的不同团队访问一个共享的设备,从而配置和管理完成他们的工作所需的环境。这种使用模型让组织能够集中地控制配置和管理,而且因为 WebSphere CloudBurst 提供细粒度的资源访问控制,所以在实现共享的同时可以简便地控制对设备中存储的各种资源(比如模式和映像)的访问。

尽管细粒度的访问控制是实现有效设备共享的必要条件,但是组织需要的可能不止这些。当开始使用单一 WebSphere CloudBurst Appliance 支持多个团队或多个使用场景时,很可能会发现部署需求的差异越来越多。不同的部署场景可能需要不同的云资源、需要支持不同的组织标准,等等。

WebSphere CloudBurst 中的环境概要文件让您能够有效地应对这些有差异的部署需求。具体地说,可以在 WebSphere CloudBurst 中创建环境概要文件,通过它们定制模式部署过程中的以下活动:

  • 虚拟机的安置
  • 虚拟机的 IP 地址分配
  • 虚拟机名称的创建

虚拟机的安置

WebSphere CloudBurst 中的云组是系统管理程序的逻辑集合。选择要部署的模式之后,选择希望托管这个虚拟系统的云组。在引入环境概要文件之前,对于给定的模式部署,只能指定一个云组。提供此信息之后,WebSphere CloudBurst 使用它的智能安置算法把虚拟机放在此云组中的系统管理程序上。

尽管智能安置功能有助于减轻管理负担、提高资源利用率、提高可用性和降低许可成本,但是每个模式部署只能指定一个云组,这个限制可能会与部署应用程序环境的方式发生冲突。例如,一个模式包含应用服务器和 web 服务器,您希望把此模式中的 web 服务器部署到企业中的另一组机器上。如果没有环境概要文件,就需要两个模式,每个云组部署一个。如果使用环境概要文件,就可以为模式中的每个部分 选择目标云组,这样只需使用一个模式即可。环境概要文件把映射从模式级转移到部分级,因此支持更灵活的部署,比如图 2 所示的部署。

图 2. 部署到多个云组
部署到多个云组

IP 地址分配

如图 1 所示,在部署期间 WebSphere CloudBurst 自动地把 IP 地址注入它创建的每个虚拟机。实现方法是从用户定义的池获取地址,把它与托管虚拟机的系统管理程序关联起来。WebSphere CloudBurst 确保每个虚拟机得到惟一的 IP 地址,还更新操作系统和中间件环境的配置以反映刚注入的 IP 地址。

这个过程不但分配和管理 IP 地址,还自动地更新配置以反映动态分配的 IP 地址,可以大大减轻网络管理负担。但是,在某些情况下,可能希望更准确地控制分配给虚拟机的 IP 地址。可以通过环境概要文件为模式中的每个部分提供 IP 和主机名。这样,就可以直接指定虚拟机的 IP 和主机名,而不是依靠 WebSphere CloudBurst 从您定义的池中随机地选择。如果选择使用这个环境概要文件功能,WebSphere CloudBurst 仍然会自动地根据您提供的 IP 和主机名更新操作系统和中间件软件配置。不需要手动修改配置。

虚拟机名称的创建

如图 1 所示,部署过程包括创建虚拟机。在部署的这个阶段,WebSphere CloudBurst 与虚拟化基础设施(VMware、IBM PowerVM、IBM z/VM)通信,使用与模式相关联的虚拟映像创建所需的虚拟机。当设备创建虚拟机时,在默认情况下使用标准的命名方案。在某些情况下,可能希望直接影响虚拟机的名称。这可能对虚拟机目录编制和分类有帮助,也可能是公司部署过程的要求。无论是哪种情况,可以使用环境概要文件指定在创建虚拟机时 WebSphere CloudBurst 应该使用的命名方案。


使用环境概要文件

现在,我们来深入讨论环境概要文件以及如何在 WebSphere CloudBurst 2.0.0.2 中使用它们。假设我们要部署一个由以下部分组成的 WebSphere CloudBurst 模式:

  • 一个 WebSphere Application Server 部署管理程序
  • 两个 WebSphere Application Server 定制节点
  • 一个 IBM HTTP Server
  • 一个用于安装应用程序的脚本包

在部署此模式时,希望实现以下目标:

  • 把部署管理程序和定制节点部署到一组专门用作 WebSphere Application Server 节点的机器上。
  • 把 IBM HTTP Server 部署到一组专门用作 web 服务器的机器上。
  • 给系统中的每个虚拟机分配特定的 IP 和主机名。
  • 指定符合企业标准的虚拟机命名方案。

可以使用定制的环境概要文件实现所有这些目标。首先创建环境概要文件。

创建环境概要文件

在 WebSphere CloudBurst web 控制台中创建新的环境概要文件的步骤如下:

  1. 单击 Environment Profiles
  2. 单击 add 图标。
  3. 在图 3 所示的对话框中提供信息。
    图 3. 创建新的环境概要文件
    创建新的环境概要文件
    1. 输入环境概要文件的名称和描述。名称可以是任何值,只要是惟一的即可。描述是可选的参数,可以使用它提供关于此概要文件的更多信息。
    2. 选择一个系统管理程序类型。系统管理程序类型为 ESX、PowerVM 或 z/VM,与 WebSphere CloudBurst 中支持的系统管理程序类型对应。一个环境概要文件只能与一个系统管理程序类型相关联,但是可以有多个环境概要文件与同一系统管理程序类型对应。
    3. 为新的环境概要文件选择一个环境。环境属性可以用于筛选和分类。在本文后面,会看到使用环境属性进行筛选的示例。选择以下值之一:
      • All
      • Development
      • Test
      • Quality assurance
      • Performance
      • Research
      • Production
      • Pre-production
  4. 单击 OK

图 4 显示新的环境概要文件。

图 4. 新的环境概要文件
新的环境概要文件

完成环境概要文件的定义

如图 4 所示,在创建环境概要文件之后,需要指定更多信息才能使用它。具体地说,需要把至少一个云组与这个概要文件关联起来。云组必须包含一个有效的系统管理程序和一个有效的 IP 组。如果选择让模式部署者在部署过程中提供 IP 地址(就像这里所做的),就不需要 IP 组。另外,还可以提供虚拟机命名格式。

为了实现前面列出的部署目标,把两个云组与这个概要文件关联起来。一个云组代表用于 WebSphere Application Server 节点的资源集合,另一个云组代表用于 web 服务器的资源集合。另外,提供虚拟机命名格式,从而确保所有虚拟机名称都符合企业的标准。

为了在环境概要文件中添加云组,单击 Deploy to cloud groups 字段中的文本 Add more。图 5 显示添加云组的页面。

图 5. 在环境概要文件中添加云组
在环境概要文件中添加云组

添加云组之后,注意 Current status 消息的变化。现在,对于每个云组,必须把至少一个 IP 组标为 In use。为此,展开每个云组,选择希望让云组中部署的虚拟机使用的 IP 组。图 6 显示选择 IP 组的页面。

图 6. 选择 IP 组
选择 IP 组

注意,对于云组和 IP 组,我们都提供了别名。别名是可选的,它们让您能够为与环境概要文件相关联的资源提供自己的名称。这样就可以提供在环境概要文件的使用上下文中有意义的名称。如果使用别名,在使用环境概要文件部署模式时,这些名称作为资源名称显示。稍后在部署过程中会看到。另外,与 WebSphere CloudBurst 中的其他资源一样,可以通过 Access granted to 字段决定哪些用户有权访问这个环境概要文件。

指定 IP 组之后,状态消息更新,表明环境概要文件随时可以使用了。但是,为了实现前面列出的部署目标,还需要提供一些配置数据。首先,需要修改 IP addresses provided by 字段的值。在默认情况下,这个值是 WebSphere CloudBurst,这意味着执行一般的 IP 分配过程。换句话说,在部署期间,WebSphere CloudBurst 自动地从您指定的池选择 IP 地址并把它分配给虚拟机。在为概要文件定义云组时,把一个 IP 组标为 In use;在使用环境概要文件时,从与这个 IP 组相关联的 IP 地址池选择 IP。

在这里,希望让模式部署者为模式中的每个部分提供特定的 IP 地址。为此,把 IP addresses provided by 字段的值改为 Pattern deployer,见图 7。

图 7. 让模式部署者提供 IP 地址
让模式部署者提供 IP 地址

现在,在使用这个环境概要文件部署模式时,要显式地指定模式中每个部分的 IP 地址。

在这个环境概要文件中,最后需要定义的是虚拟机命名格式。在 Virtual machine name format 字段中指定自己的命名方案,见图 8。

图 8. 定义虚拟机命名格式
定义虚拟机命名格式

对于这个虚拟机命名格式,指定 apptest_${3-counter}。名称中的 ${3-counter} 部分是可以在虚拟机命名格式中使用的三种格式变量之一:

  • ${x-counter}:在部署期间,WebSphere CloudBurst 把这个变量替换为环境概要文件的全局计数器的值。WebSphere CloudBurst 把这个值存储在设备上并相应地更新。变量的 x 部分表示希望 WebSphere CloudBurst 在这个计数器中使用的位数。在图 8 中,我们指定 3 位,所以 WebSphere CloudBurst 会生成 001、002 等值。例如,使用这个环境概要文件部署的第一个虚拟机将命名为 apptest_001
  • ${hostname}:在部署期间,WebSphere CloudBurst 把这个变量替换为虚拟机的主机名。
  • ${vs-name}:在部署期间,WebSphere CloudBurst 把这个变量替换为您为虚拟系统提供的名称。这个变量本身不保证虚拟机名称的惟一性,所以它必须与另外两个变量之一一起使用(例如 apptest_${vs-name}-${3-counter})。

为了确保 WebSphere CloudBurst 创建具有惟一名称的虚拟机,必须在虚拟机命名格式中使用其中至少一个变量(如果使用 ${vs-name},那么必须使用多个变量)。

环境概要文件的定义完成了。现在可以使用这个环境概要文件部署模式了。

在部署期间使用环境概要文件

现在,可以在部署模式期间使用这个环境概要文件。首先,单击顶部工具栏上的 Patterns 链接,然后选择希望部署的模式。图 9 显示目标模式。

图 9. 要部署的模式
要部署的模式

这个模式包含想要的基本节点,还包含测试应用程序。现在,需要确保实现前面列出的部署目标:

  • 把 IBM HTTP Server 实例部署到由用作 web 服务器的机器组成的云组。
  • 为虚拟机提供特定的 IP 地址。
  • 确保虚拟机名称符合企业标准。

可以通过在部署期间使用新的环境概要文件实现这些目标。首先单击部署图标。指定新的虚拟系统的名称,然后单击 Choose Environment 链接。图 10 显示如何选择用于部署的环境概要文件。

图 10. 选择用于部署的环境概要文件
选择用于部署的环境概要文件

在选择环境概要文件时,通过提供 All 之外的其他环境类型,可以筛选可用概要文件列表。环境类型的值根据概要文件的 Environment 字段筛选环境概要文件。对于本文中创建的概要文件,我们指定环境类型为 Test(见图 4)。但是,因为我们只定义了一个环境概要文件,筛选是不必要的,我们的目标概要文件(Dustin's Profile)就是出现在 Environment profile 字段中的概要文件。

选择用于部署的环境之后,可以配置模式中的每个部分。首先配置部署管理程序部分,见图 11。

图 11. 配置部署管理程序部分
配置部署管理程序部分

在配置部署管理程序部分时,通过 In cloud group 字段选择希望把这个虚拟机部署到哪个云组。可以选择与环境概要文件相关联的任何云组,在这里选择 WASCloud 云组,从而确保 WebSphere CloudBurst 把部署管理程序虚拟机放在这个组中的系统管理程序上。接下来,通过 IP Group 字段选择希望与这个虚拟机相关联的 IP 组,然后在 Addresses 字段中提供虚拟机的主机名和 IP 地址。一定要注意,您提供的 IP 地址和主机名必须对于所选 IP 组(WASIPs)的相关子网是有效的。提供这些信息之后,继续提供标准的配置数据,比如虚拟机资源分配信息、单元名称、节点名称和密码。

接下来,配置定制节点部分,见图 12。

图 12. 配置定制节点部分
配置定制节点部分

对于定制节点部分,选择与部署管理程序部分相同的云组和 IP 组。这确保 WebSphere CloudBurst 把定制节点也放在 WASCloud 云组中的系统管理程序上。在定制节点部分的配置数据中,惟一的差异是要提供两个惟一的主机名和 IP 地址值。这是因为在这个模式中有两个定制节点部分,需要为创建的每个虚拟机提供不同的值。

最后,配置 IBM HTTP Server 部分,见图 13。

图 13. 配置 IBM HTTP Server 部分
配置 IBM HTTP Server 部分

对于 IBM HTTP Server 部分,希望把它部署到另一个云组中。因此,应该指定 IHSCloud 云组作为部署目标。还应该指定另一个 IP 组(在这里是 IHSIPs),这表示 IBM HTTP Server 虚拟机将使用另一个子网。与其他部分一样,继续为这个部分提供标准的配置数据。注意,WebSphere CloudBurst 会自动地对部署期间创建的每个虚拟机应用在环境概要文件中设置的命名约定。不需要为此提供部署配置数据。

配置每个部分之后,就可以部署模式了。在主部署对话框上,单击 OK,见图 10。WebSphere CloudBurst 转入虚拟系统页面,可以在那里监视系统的部署状态。当部署完成时,WebSphere CloudBurst 更新虚拟系统的状态,见图 14。

图 14. 初始化的虚拟系统
初始化的虚拟系统

现在,可以检查环境概要文件在部署期间是否起到了期望的作用。为此,展开虚拟机部分,查看系统中所有虚拟机的列表。图 15 显示虚拟机列表。

图 15. 虚拟机列表
虚拟机列表

可以看到虚拟机名称符合环境概要文件中指定的命名格式(apptest_${3-counter})。接下来,展开 apptest_001 虚拟机,它代表模式的部署管理程序部分。在这里,检查 IP 地址和主机名的分配是否正确,然后检查 WebSphere CloudBurst 是否把这个虚拟机放在 WAS Node Cloud(WASCloud 的别名)云组中。图 16 显示部署管理程序虚拟机的相关信息。

图 16. 部署管理程序虚拟机
部署管理程序虚拟机

如果检查定制节点虚拟机 apptest_003apptest_004,会看到 WebSphere CloudBurst 把它们也放在 WAS Node Cloud 云组中。这两个虚拟机都有自己的 IP 地址。图 17 显示 apptest_003 虚拟机的信息。

图 17. 定制节点虚拟机
定制节点虚拟机

现在,可以展开 apptest_002 虚拟机。这个虚拟机代表 IBM HTTP Server 实例。图 18 显示这个虚拟机的相关信息。

图 18. IBM HTTP Server 虚拟机
IBM HTTP Server 虚拟机

如您所见,WebSphere CloudBurst 根据部署期间提供的信息把 IBM HTTP Server 虚拟机放在 Web Server Cloud(IHSCloud 的别名)云组中。另外,会看到在部署期间为这个虚拟机指定的 IP 地址和主机名。

检查组成这个系统的每个虚拟机的信息之后,可以确认能够使用 WebSphere CloudBurst 中的环境概要文件功能实现所有部署目标。可以把一个模式中的各个部分部署到不同的云组中,这样就可以有效地用不同的机器池托管不同的组件。另外,可以为系统中的每个虚拟机提供特定的 IP 地址和主机名,确保所有虚拟机名称符合自己的标准。


结束语

自助访问和定制功能是贯穿整个 WebSphere CloudBurst Appliance 的核心主题。这个云管理设备让多个用户可以在私有云中创建和部署定制的环境。现在,由于引入了环境概要文件,您可以用一个设备支持多个团队的有差异的部署需求。通过使用这个新特性,可以增强团队对部署的控制能力,更好地控制云资源的使用和虚拟机命名。环境概要文件让多个用户可以按自己的方式部署定制的环境。

参考资料

学习

讨论

条评论

developerWorks: 登录

标有星(*)号的字段是必填字段。


需要一个 IBM ID?
忘记 IBM ID?


忘记密码?
更改您的密码

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件

 


在您首次登录 developerWorks 时,会为您创建一份个人概要。您的个人概要中的信息(您的姓名、国家/地区,以及公司名称)是公开显示的,而且会随着您发布的任何内容一起显示,除非您选择隐藏您的公司名称。您可以随时更新您的 IBM 帐户。

所有提交的信息确保安全。

选择您的昵称



当您初次登录到 developerWorks 时,将会为您创建一份概要信息,您需要指定一个昵称。您的昵称将和您在 developerWorks 发布的内容显示在一起。

昵称长度在 3 至 31 个字符之间。 您的昵称在 developerWorks 社区中必须是唯一的,并且出于隐私保护的原因,不能是您的电子邮件地址。

标有星(*)号的字段是必填字段。

(昵称长度在 3 至 31 个字符之间)

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件.

 


所有提交的信息确保安全。


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=Cloud computing
ArticleID=606558
ArticleTitle=使用 WebSphere CloudBurst 环境概要文件定制部署行为
publish-date=01062011