了解 Schematics 用例
选择以下用例以了解 Schematics 如何在 IBM Cloud中自动执行基础结构,服务和应用程序堆栈。
具有 Schematics 工作空间的基础架构部署
Schematics 工作区为您提供Terraform即服务功能,使您能够自动配置和管理云资源,并快速构建、复制和扩展复杂的多层云环境。
要在 Schematics中开始基础架构部署,请参阅 入门教程。
Terraform 是一个开放式源代码项目,允许您使用高级脚本语言来指定云基础架构资源和服务。 您的规范存储在 Terraform 配置文件中。 从用户处除去了使用 APIs
,供应和管理云资源的复杂性。 云提供者为 Terraform 创建一个插件,其中包含有关如何连接到云提供者的信息。 要使用特定云资源调用哪些
APIs
? IBM的插件称为 IBM Cloud Provider Plug-in for Terraform。
要使用 IBM Cloud Provider Plug-in for Terraform的功能,请创建指向要供应的 Terraform 配置文件的工作空间。 该插件会分析您指定的资源,并确定这些资源 (包括必须供应的任何依赖项) 的顺序。 请查看下图以获取有关如何使用 Schematics 工作空间运行 Terraform 配置文件的详细信息。

- 整理您的云资源。 使用Terraform HashiCorp 配置语言(HCL)或JSON格式指定要在您的 IBM Cloud 环境中预置的云资源。 如果您不熟悉Terraform,您可以选择 Schematics 提供的默认Terraform模板之一,以配置所需的云资源。 Terraform模板可以存储在 GitHub, GitLab, 或
Bitbucket
存储库中,以确保源代码控制,并支持组织内的协作、审查和审计。 您可以将使用情况信息保存在readme
文件中,使模板可在多个团队中共享和使用。 您也可以从本地机器上传磁带存档文件(.tar
),将模板发送至 Schematics。 - 创建工作空间。 你可以将 Schematics 工作空间指向 GitHub, GitLab, 或
Bitbucket
存储 Terraform 模板的版本库,或通过上传.tar
文件提供模板。工作区有助于组织属于一个 IBM Cloud 环境的资源。 例如,使用工作空间来分隔测试、编译打包和生产环境。 通过 IBM Cloud® Identity and Access Management,您可以控制谁有权访问您的工作区?谁有权在您的云资源上执行操作? - 创建执行计划。 根据您的配置,Terraform 会创建一个执行计划,并描述需要运行的操作才能进入 Terraform 配置文件中描述的状态。 为了确定操作,Schematics 会分析您的 IBM Cloud 账户中已配置的资源,以便您预览是否需要添加、修改或删除资源。 您可以复审执行计划,对其进行更改或仅执行该计划。
- 供应资源。 当您准备好对云环境进行更改时,可以应用 Terraform 配置文件。 要运行配置文件中指定的操作,Schematics 使用 IBM Cloud Provider Plug-in for Terraform。
使用 Schematics 操作进行配置管理
Schematics 操作向您交付 Ansible-as-a-Service 功能,以便您可以自动配置和管理 IBM Cloud 环境,并将复杂的多层应用程序部署到云基础结构。
要开始使用 Schematics中的配置管理,请参阅 入门教程。
Ansible 是类似于 Chef 和 Puppet 的配置管理和供应工具,旨在自动执行云环境的配置,操作和管理,以及在云中部署多层应用程序工作负载。 Ansible 使用 YAML 语法来描述必须对单个主机或一组主机运行的任务,并将这些任务存储在 Ansible 运行手册中。
Ansible 不使用必须存在于目标机器上才能正常工作的代理程序或定制安全基础结构。 相反,Ansible 通过使用 SSH 密钥安全地连接到公用网络上的计算主机。 要使资源处于所需状态,Ansible 会将模块推送到运行 Ansible 运行手册中的任务的受管主机。 执行任务后,会将结果返回到 Ansible 服务器,并从受管主机中除去模块。 Ansible 模块具有幂等性,因此多次执行相同的运行手册或操作会返回相同的结果,因为只有在需要时才会更改资源。 有关 Ansible的更多信息,请查看此 视频。
要在 Schematics中使用 Ansible 功能,请创建指向要运行的 Ansible 运行手册的 Schematics 操作。 查看下图以获取有关如何使用 Schematics 操作运行 Ansible 运行手册的详细信息。

- 向运行手册添加任务: 使用 Ansible YAML 语法来描述要在云基础结构上运行的配置任务,例如安装软件或启动,停止和重新引导虚拟服务器。 您可以将这些任务添加到 Ansible 游戏本中,并将游戏本存储到 GitHub, GitLab, 或
Bitbucket
资源库中,以确保源代码控制,并在您的组织中实现协作、审查和审计。 如果您不熟悉 Ansible,那么可以使用其中一个 IBM 提供的运行手册,或者浏览 Ansible Galaxy 库。 - 创建 Schematics 操作: 创建 Schematics 操作时,将操作指向存储 Ansible 运行手册的存储库。 然后,选择要在其中运行 Ansible 运行手册中定义的任务的云资源。 为了保护云资源,您可以在目标主机前进一步设置防御主机,以将所有 Ansible SSH 连接代理到目标主机。
- 运行操作: 当您准备好配置云资源时,可以运行操作。Schematics 使用内置 Ansible 功能通过 SSH 连接到目标主机,并执行 Ansible 运行手册中定义的任务。 您可以通过查看日志来监视进度。
具有 IBM提供的模板的软件部署
浏览 IBM 软件解决方案目录,并在可用于设置云资源的各种软件和基础结构模板中进行选择,并在 IBM Cloud Kubernetes Service 集群 Red Hat OpenShift on IBM Cloud 集群中安装 IBM 和第三方软件,或 Virtual Servers for VPC。
通过使用 Schematics中的内置 Terraform,Ansible,Helm,Red Hat OpenShift on IBM Cloud 操作程序和 Cloud Pak 功能来安装软件模板。 选择安装其中一个提供的模板时,请创建 Schematics 工作空间,并选择要在其中运行安装的目标服务或主机。 您可以查看 Schematics 中的哪些集成技术用于安装模板。
您还可以创建自己的软件和基础架构模板,并将它们导入到 IBM Cloud中您自己的专用目录中。 有关更多信息,请参阅 将产品添加到专用目录
要开始使用 Schematics中的软件部署,请参阅 入门教程。

- 选择模板: IBM 软件解决方案目录 提供了各种各样的基础架构和软件模板,可供您选择。 这些模板有助于快速将软件 (例如 IBM Cloud Paks,IBM® WebSphere Application Server for IBM Cloud®或 Kibana 和 Grafana ) 安装到您选择的目标服务中。
- 配置工作空间和目标: 选择其中一个提供的模板时,必须选择要安装该模板的目标。 根据您选择的模板,目标可以是 IBM Cloud Kubernetes Service 集群,Red Hat OpenShift on IBM Cloud 集群,或者经典或 Virtual Servers for VPC。 由于 Schematics 用于安装软件,因此必须配置自动为您创建的工作空间。
- 运行模板: 运行模板时,Schematics 使用内置 Terraform,Ansible,Helm,OpenShift 操作程序或 Cloud Pak 功能来安装软件或启动基础架构资源。 您可以使用工作空间来监视模板执行进度。