在当今的企业中,您需要快速方便地访问开发和测试环境。 但是,在IBM®z /OS®上,获取访问权限以及配置服务器和资源既耗时又昂贵,并且大型机陡峭的学习曲线提出了挑战,尤其是对于专门从事前端应用程序工作的团队而言。 现在,借助IBM z / OS管理工具(z /OSMF®)V2.2和IBMWebSphere®Liberty,您可以通过IBM Cloud Provisioning and Management插件在z / OS系统上充分利用功能全面的云环境。 -在。
使用此插件,您可以简单安全地动态请求Liberty服务器和其他中间件资源。 IBM Cloud Provisioning and Management插件管理每个Liberty实例的生命周期,以便您可以通过Web浏览器方便地配置,取消配置以及启动和停止服务器。 您的团队现在可以专注于应用程序开发,而无需花费时间和资源来手动配置服务器。 同样,您的测试团队可以根据需要创建定制的测试服务器环境。
本文向您介绍IBM Cloud Provisioning and Management插件和Liberty的配置选项。 它还将引导您完成设置和使用该插件的步骤,以创建您自己的云环境以在z / OS上配置Liberty。
Cloud Provisioning and Management插件概述
IBM Cloud Provisioning and Management插件是一个工作流引擎。 它在外部可访问的目录中将用户定义的工作流作为服务托管。 您可以浏览此目录并请求服务。 然后运行工作流程,并提供实例。 然后,您可以对该工作流程中定义的实例执行特定操作。 在此基本框架中,您可以根据定义的工作流程根据需要自定义服务的程度。
工作流是一个XML文件,概述了发出请求时要执行的一系列步骤。 工作流步骤包括各种操作,例如运行脚本,进行REST调用或提交作业控制语言(JCL)作业。 您可以根据各种条件延迟或跳过步骤,出于安全目的,甚至可以在不同的用户ID下运行它们。 您还可以使用在外部属性文件中定义的变量来自定义工作流。
要开始创建自己的工作流以配置Liberty,可以使用GitHub的WASdev目录中提供的功能齐全的示例。 下一节将说明样本工作流程的内容。
在示例Liberty工作流程中
从GitHub的WASdev目录下载并解压缩示例项目。 该项目包含三个目录和一些文档文件。 Setup_and_Configuration.pdf
文件中的主要文档说明了工作流程步骤,变量,配置选项和先决条件。
tools
目录包含一个帮助程序工作流,用于创建用于数据源创建的z / OSMF注册表。
properties
目录包含workflow_variables.properties
文件。 您可以使用properties
文件来定义在整个工作流程中使用的所有变量。 这些变量分为多个部分,这些部分基于特定功能,并说明了它们是什么以及如何设置它们。 一些变量(例如WLP_ENABLE_DVIPA
)是标志,可以将其设置为TRUE
或FALSE
来启用或禁用某些功能,这些功能会导致跳过特定的工作流程步骤。 您还可以使用properties
目录来保存workflow_variables.properties
文件的副本,每个副本均具有特定的配置。
workflows
目录包含所有工作流XML文件,脚本,服务器配置模板和示例应用程序:
-
provision.xml
文件是用于创建和配置Liberty服务器实例的主要工作流程。actions.xml
文件概述了actions.xml
实例可用的所有操作。 选择任何操作都会运行相应的工作流程(此处列出了其他XML文件)。Variable_imports.xml
文件是工作流使用的所有变量的实例化。 -
templates
子目录包含工作流程中各个步骤运行的所有脚本。 这些模板中的变量在执行后直接从workflow_variables.properties
_变量/workflow_variables.properties
文件中提取。 -
config
子目录包含所有Liberty服务器配置。 这些配置文件将根据您的自定义工作流进行配置并复制到新配置的服务器。 -
apps
子目录包含三个示例应用程序。 在运行时,这些应用程序将部署到新配置的服务器中的dropins
目录中。 通过将APPS_DIR
变量设置到此目录(或您选择的任何目录),可以使用它们来测试各种功能。 该位置上的所有应用程序都将部署到您配置的服务器上。
您无需在workflows
目录中进行任何配置即可使这些示例工作流程正常工作。 所有配置和定制都是通过properties
文件完成的。 但是,您可以打开这些文件并查看它们的外观和功能。 当您熟悉步骤的结构和顺序时,可以更改,添加或删除所选的任何步骤。
可定制的功能亮点
样本Liberty工作流程具有许多可自定义的功能,这些功能在Setup_and_Configuration.pdf
文件中进行了详细概述。 在开始本教程之前,这里有一些重点值得一提。
网络资源供应选项
使用Cloud Provisioning and Management插件,您可以配置和管理网络资源池。 这样,您的工作流程可以为每个工作流程实例动态分配唯一或共享的IP地址和端口。 这些示例Liberty工作流程利用了这些功能,包括两个可配置的选项:
- 您可以对所有服务器实例使用相同的IP地址,并从预配置的池中配置唯一的端口。
- 您可以从预配置的池中配置动态虚拟IP地址(DVIPA),并使用默认的Liberty HTTP端口(9080)和HTTPS端口(9443)。
位置管理选项
样本Liberty工作流程有几个选项供您管理每个已配置实例的位置:
- 您可以在
properties
文件中指定一个公共目录,在该目录中将配置每个服务器实例。 - 您可以在请求用户的主目录中置备每个服务器实例。
- 可选:对于这两个选项,您可以为创建的每个服务器实例创建并安装新的z / OS文件系统(zFS)。
DB2数据源绑定
样本工作流程提供了使用db2Bind
操作在供应期间或在已供应的实例上绑定到现有db2Bind
子系统的选项。 请求用户还可以指定用于数据源配置的JNDI名称,从而允许与他们的应用程序进行自定义集成。
此功能要求管理员首先为特定的DB2子系统创建z / OSMF注册表。 该注册表是一组键值对,其中包含在服务器上配置数据源所需的信息(即位置,IP和端口)。 当您将数据源绑定到数据库时,您传入此注册表的名称(DB2子系统名称),工作流将查找其所需的信息。
为了方便起见,样本工作流程在tools目录中包含db2_registry_add_subsystem.xml
工作流程。 运行此工作流程时,它会提示您提供所需的信息,并在z / OSMF中自动创建一个安全的注册表。
安全批准和执行
默认情况下,所有工作流程步骤均以登录并请求服务器的用户的ID运行。 但是,此设置限制了工作流程的功能,因为某些步骤可能需要提升权限。 使用Cloud Provisioning and Management插件,步骤可以在不同的用户ID下运行,出于安全原因,该用户ID在创建工作流程时已被批准。 这些示例工作流程中的各个步骤都利用了此功能。 因此,在运行工作流之前,必须在属性文件中配置提升的用户ID和批准者的ID。
设置和配置示例Liberty工作流程
以下教程说明了如何设置和配置示例Liberty工作流程。 在开始之前,您必须对z / OSMF以及Cloud Provisioning and Management插件有基本的了解。 如APAR PI70526中所述,该插件可用于具有PTF UI42847(加上支持的PTF)的z / OSMF V2.2。
有关Cloud Provisioning and Management插件的更多信息,请参阅IBM Knowledge Center中的What Cloud Provisioning是主题。 安装插件并对其进行配置,以允许您的用户ID访问权限来创建和运行软件服务。
开始:
- 在您的z / OS系统上下载并安装Liberty。 兼容以下Liberty版本:带有iFix PI47476、8.5.5.8或16.xxx的8.5.5.7
- 使用FTP将工作流发送到z / OS系统。
workflows/templates/wlp-provisioning.sh
文件是唯一需要转换为EBCDIC的文件。 所有其他文件都可以ASCII或EBCDIC的形式运行。 您可能需要转换这些文件,以便在z / OS上可读。 或者,您可以使用FTP应用程序(例如FileZilla)在本地工作站上读取和编辑远程文件。
配置workflow_variables.properties文件
根据需要配置工作流程。 对于本教程,我们使用以下简单配置:
- 将
WLP_INSTALL_DIR
设置为安装Liberty的目录。 - 将
JAVA_HOME
为系统上的Java目录。 - 将
APPS_DIR
设置为workflows/apps
目录的绝对路径。 - 将
WLP_ENABLE_DVIPA
设置为FALSE
。 我们分配唯一的端口。 - 将
IP_ADDRESS
设置为系统的IP地址。 - 将
MOUNT_POINT
设置为要在其中创建服务器实例的可写目录。 - 将
WLP_CREATE_ZFS
设置为FALSE
。 - 将
UNAUTH_USER
设置为IZUGUEST
(默认值)。 - 将
WLP_ENABLE_SSL_SAF_CERTIFICATES
设置为FALSE
。 - 将
START_SERVER_AS_STARTED_TASK
设置为FALSE
。 - 在“ 批准和运行方式用户ID定义”部分中,配置将批准和运行工作流程中提升的步骤的用户ID。 如果您正在使用个人测试系统(如本教程中所述),则可以为所有这些属性设置ID。
添加模板
模板定义您的工作流程以及与其关联的资源。 要添加模板:
- 启动z / OSMF并登录到控制台。
- 在Cloud Provisioning and Management插件的左窗格中,展开Cloud Provisioning并单击Software Services 。
- 在“软件服务”页面上的“ 模板”选项卡上,单击“ 添加模板” 。
- 选择将在其下提供此服务的域。 我们使用默认域。
- 定义模板的路径:
- 在模板名称字段中,输入模板的名称 。
- 在工作流文件字段中,输入
provision.xml
文件的路径 。 - 在“动作文件”字段中,输入
actions.xml
文件的路径 。 - 在工作流变量输入文件字段中,输入
workflow_variables.properties
文件的路径 。或者,您可以加载
provisionWLP.mf
文件作为模板源文件,以自动加载这些字段的配置路径。现在,您可以在“草拟待批准”状态中的“ 模板”选项卡上看到您的模板服务。
- 选择模板,单击“ 操作” ,然后选择“ 批准” 。 根据您在属性文件中为步骤批准者设置的值,您会看到一个被授权批准工作流程中各个步骤的用户ID列表。 您必须批准这些操作。
- 如果您是列出的用户,请选择步骤,单击“ 操作” ,然后单击“ 批准” 。
- 关闭并返回上一页。
现在,您看到状态为“草稿已批准”。
将模板添加到域
现在,您已经创建了工作流程模板,将其添加到域或租户中以配置必要的资源池:
- 在左侧导航窗格中,展开Cloud Provisioning并选择Resource Management 。
- 选择在创建工作流程时指定的域。
- 从可用租户列表中,选择所需的租户。 我们使用默认租户。
- 选择操作->模板和资源池->添加 。
- 在下一页上,选择模板,然后配置必填字段。 对于实例名称前缀,选择“ 指定” ,然后输入用于服务器实例命名的前缀。
- 选择“ 创建网络资源池” ,然后单击“ 确定” 。
配置网络资源池
要为此模板配置网络池:
- 在左侧导航窗格中,展开“ 配置”,然后选择“ 配置助手” 。
- 在“配置助手”页面上,选择“ 管理z / OS Cloud配置” ,然后单击“ 继续” 。
- 在下一页上,选择适当的域,然后单击继续 。
- 在系统选项卡上,验证是否已设置组,图像和堆栈。 如果未设置,请创建它们。
- 如果创建堆栈,请分配两个数据集以用于“包含”和“动态更新”字段,如下图所示。
- 在网络资源池选项卡上,单击为工作流创建的池,然后选择操作->修改 。
- 在结果页面上,设置IP和端口范围,具体取决于工作流程的配置方式。 在本教程中,我们使用配置的IP地址和唯一的端口,因此我们必须创建端口分配池。
- 在端口分配选项卡上,选择操作->新建 。
- 输入端口范围的名称和系统上可用端口的范围。
- 确保同时清除两个都是静默字段。
- 单击“ 保存”返回上一页。
- 在“ 属性”选项卡上,选择“已完成”以将您的网络池标记为可以使用。 设置端口限制。 每个服务器需要两个端口。 然后,点击保存 。
现在,您已经配置了网络资源池。
设置一个Liberty实例
您的工作流服务现在可以运行了。 要配置一个Liberty实例来运行它:
- 返回“软件服务”页面,选择模板,单击“ 操作” ,然后选择“ 测试运行” 。
- 在下一页上,将用于DB2绑定和组共享的其他运行时选项留空。 在本教程中,我们不使用这些选项。 您可以在
Setup_and_Configuration.pdf
文件中了解有关它们的更多信息。 单击确定 。您将自动转到“ 实例”选项卡,在其中看到状态为“正在配置”的新Liberty服务器实例的条目。
通过单击左窗格中的“ 工作流程” ,您可以看到实时运行的工作流程步骤。
- 成功配置服务器实例后,刷新页面以查看更新的状态。
现在,您的Liberty服务器实例已配置并可以使用。
单击实例名称以查看工作流程中使用的变量列表。 在这里,您可以找到我们配置的IP地址和分配的动态端口。
测试服务器实例
要测试服务器,可以访问已部署到服务器的任何示例应用程序。 在网络浏览器上打开一个新标签,然后输入以下URL:
<ip_address>:<http_port>/CloudTestServlet
您会看到浏览器的日期,时间和IP地址。
您也可以转到以下URL:
<ip_address>:<http_port>CloudTestSecureServlet
输入您的用户名和密码。 只有请求服务器的ID才可以访问。 同样,您会看到浏览器的日期,时间和IP地址。
现在,您的Liberty服务器已启动并正在运行,您可以运行actions.xml
文件中定义的任何可用操作:
- 选择您的服务器实例,然后转到Actions-> Perform 。
- 从列表中选择服务器。
- 停止服务器,并验证示例应用程序不再可访问。
添加和发布服务
IBM Cloud Provisioning and Management插件包含一个示例市场,该市场使软件服务可供市场消费者使用。 您可以将工作流程模板发布到此市场,以使用户可以更方便地请求服务器。 在执行之前,请导入Cloud Portal插件 (如果尚未导入) 。 导入插件后,您会在左窗格的Cloud Provisioning下看到Marketplace和Marketplace Administration链接。
要添加和发布服务:
- 在左侧导航窗格中,展开Cloud Provisioning ,然后单击Software Services 。
- 在“ 模板”选项卡上,选择您的工作流程模板 ,单击“ 操作” ,然后选择“ 发布” 。 现在,您的模板已发布(请参见下图),并已向您域或租户中的其他用户授予访问权限。
- 在左窗格中,选择“ 市场管理” ,然后单击“ 添加服务” 。
- 选择您的模板,然后填写必填字段。 单击确定 。
- 在左窗格中,转到市场以查看您已发布的服务。
- 从此处,单击订阅以请求Liberty服务器。
测试运行模板时,系统会提示您相同的字段。 您会在“我的订阅”页面上看到您的服务器实例。
- 单击加号(+)以查看有关服务器的信息,例如IP地址和端口。 您可以使用此信息来访问新的Liberty服务器,并将其连接到WebSphere Developer Tools。
结论
IBM Cloud Provisioning and Management插件为z / OS提供了简单而强大的云功能。 通过完成本教程,您学习了如何通过使用示例Liberty工作流程来设置基本的云环境。 现在,您可以测试样本提供的更高级的功能,并将其扩展以为您的环境创建自定义工作流。
翻译自: https://www.ibm.com/developerworks/library/mw-1704-wisniewski/index.html