IBM Cloud Docs
从现有产品创建可部署体系结构

从现有产品创建可部署体系结构

您可以利用 IBM®组织的定制捆绑软件来扩展和定制 IBM Cloud® 可部署体系结构云自动化用于部署公共体系结构模式,该模式组合了一个或多个云资源,这些资源旨在实现轻松部署、可伸缩性和模块化。。 每个可部署体系结构都提供自己的定制捆绑软件。 通过该捆绑软件,您可以在本地计算机上编辑可部署体系结构,使用自己的管道进行测试,并扩展自己的产品以满足企业的需求。 要定制体系结构,您必须熟悉 Terraform。

定制捆绑软件还包含 automation 目录,其中包含入门模板脚本,可帮助您管理定制可部署体系结构的生命周期,从加载和验证到将其发布到 IBM Cloud上的专用目录。 当前,此目录中包含两种管道方法: GitHub 操作或来自 IBM Cloud的工具链。

以下指南提供了定制捆绑软件的概述以及可以执行的定制的一些示例。 它并非全部包含在内,您可以进行所需的任何更改。 修改体系结构后,可以将其添加到专用目录,并使用 IBM的工具来检查漏洞,确保安全性和合规性,并与企业共享体系结构。 有关更深入的预评估,请参阅 使用 IBM Cloud 可部署体系结构来构建可部署体系结构

根据您的更改,IBM Cloud 可能不支持可部署体系结构。 IBM Cloud支持捆绑软件中提供的体系结构组件,但不支持用于扩展的任何已修改代码。

准备工作

  1. 创建存储库以存储定制的可部署体系结构,例如 GitHub 存储库。 有关更多信息,请参阅 创建新存储库
  2. 确保您有一个您选择的编辑器来修改可部署体系结构,例如 Visual Studio Code。 有关更多信息,请参阅 Visual Studio Code
  3. 确保您具有可供选择的工具来测试可部署体系结构并确保其正常工作。 例如,可以使用 Terraform 运行时,它提供 Terraform 命令行。

查找可部署体系结构

IBM Cloud 提供了多个可部署体系结构,您可以按现状使用这些体系结构,也可以定制这些体系结构。 要查找体系结构,请完成以下步骤:

  1. IBM Cloud 目录中,选择可部署体系结构。
  2. 通过选择 复审部署选项 > 使用代码 > 下载捆绑软件来下载定制捆绑软件。

定制可部署体系结构

下载捆绑软件时,您将收到一组旨在帮助您开始定制的文件。

ibm_catalog.json

ibm_catalog.json 文件是一个清单 JSON 文件,用于自动将版本信息导入到专用目录中。 通过目录清单文件,可以避免通过控制台手动输入版本元数据。 要查看如何设置 ibm_catalog.json 文件以及可以包含的值,请参阅 本地编辑目录清单

main.tf

main.tf 文件是存储有关要使用的每个可部署体系结构的配置信息的位置。 根据可部署的体系结构,您可以使用此文件来指定特定区域,API 密钥和源代码位置。 您还可以使用此文件来添加其他模块并更新体系结构的 Terraform 参数。

具有规范的 main.tf 的示例

以下示例显示了针对使用特定区域 us-south 的受监管行业的 VPC 上的安全基础结构:

module "landing-zone" {
  source           = "https://cm.globalcatalog.cloud.ibm.com/api/v1-beta/offering/source//examples/power-sap?archive=tgz&catalogID=7df1e4ca-d54c-4fd0-82ce-3d13247308cd&flavor=power&kind=terraform&name=slz-vpc-with-vsis&version=0.0.22"
  ibmcloud_api_key = var.ibmcloud_api_key
  ssh_public_key   = var.ssh_public_key
  region           = "us-south"
  prefix           = "slz"
}

outputs.tf

outputs.tf 文件包含可以包含在可部署体系结构中的可用输出值。 这些值已注释掉,但您可以通过从值中除去 # 符号来包含这些值。 此外,还可以向文件添加更多输出变量。 要包含某些值,请完成以下步骤。

  1. 打开 outputs.tf 文件。
  2. 从要包含的任何输出值中除去 #

示例 outputs.tf

以下示例包含 vsi_names 值并排除 transit_gateway_name 值:

output "vsi_names" {
  value       = var.vsi_names
  description = "A list of the vsis names provisioned within the VPCs"
}
#output "transit_gateway_name" {
#  value       = var.transit_gateway_name
#  description = "The name of the transit gateway"
#}

provider.tf

provider.tf 文件包含有关用户需要使用的提供程序,API 密钥和区域的必需信息。

此信息是从 variables.tf 文件中拉入的。 如果需要进行更改,请更新 variables.tf 文件。

provider.tf 文件的示例

以下示例将 IBM 作为提供程序列出:

provider "ibm" {
  ibmcloud_api_key = var.ibmcloud_api_key
  region           = var.region
}

README.md

自述文件包含有关可部署体系结构的背景和用法信息。 您可以定制自述文件以帮助企业成员使用可部署体系结构。

variables.tf

variables.tf 文件包含可部署体系结构所需的变量。 您可以添加所需的任何其他变量。

version.tf

version.tf 文件存储有关运行可部署体系结构所需的 Terraform 版本和提供程序版本的信息。 如果您正在按当前方式运行可部署体系结构,那么无需任何更新。 您的配置可能需要您更新此文件。 如果需要指定特定 Terraform 或提供程序版本,请完成以下步骤:

  1. 打开 versions.tf 文件。
  2. required_version 更新为用户需要使用的 Terrafrom 版本。
  3. version 更新为用户需要使用的提供程序版本。

测试可部署体系结构

在将可部署体系结构加载到专用目录之前,请测试定制并确保体系结构按预期运行。 要使用 Terraform 命令行测试体系结构,请完成以下步骤:

  1. 定制体系结构后,初始化 Terraform CLI。 有关更多信息,请参阅 初始化工作目录

    terraform init
    
  2. 供应资源。 有关更多信息,请参阅 使用 Terraform 供应基础架构

    1. 运行 terraform plan 以生成 Terraform 执行计划来预览建议的操作。

      terraform plan
      
    2. 运行 terraform apply 以创建计划中定义的资源。

      terraform apply
      

创建发布

如果测试成功,那么可以通过确保文件位于存储库中并创建发行版来准备将体系结构加载到专用目录中。 有关更多信息,请参阅 创建发行版

利用自动化来共享到专用目录

定制捆绑软件具有 automation 目录,其中包含入门模板管道的几个选项。 这些管道可用于自动执行通过在 IBM Cloud上使用专用目录共享的定制产品的生命周期。 这包括管理可部署体系结构版本到专用目录的加载,验证和共享。对于提供有关如何利用 README 文件的详细信息的每个管道选项,都包含这些文件。 有关每个操作的更多信息,请参阅 GitHub 操作创建工具链

使用控制台加载到专用目录

如果要使用控制台来加载可部署体系结构,请参阅 将定制可部署体系结构加载到专用目录中 以获取逐步指导。

后续步骤

定制捆绑软件中提供的脚本可帮助您将入职流程自动化到专用目录,以便与其他用户共享产品。 但是,如果要使用控制台或 CLI 来加载可部署体系结构,请参阅 将定制可部署体系结构加载到专用目录中 以获取逐步指导。 通过使用专用目录,您企业的成员需要使用已核准的体系结构,他们可以使用 项目 来部署这些体系结构。