首页 > 解决方案 > IBM Terraform 提供程序的问题:ibm_service_instance

问题描述

首先:通过https://cloud.ibm.com/schematics/slack的邀请似乎不起作用。我的邮件帐户上没有收到关于原理图@slack 的邀请,所以我在这里发布我的问题:

Terraform 0.13,ibm 提供商 1.23.1

1.)在尝试从https://github.com/IBM-Cloud/terraform-provider-ibm/tree/master/examples/ibm-app运行示例 ibm-app(CloudFoundry 示例)时,我注意到它需要要运行的 API 密钥。这是为什么?为什么原理图工作区不能提供自己的?有些示例无需 IAM 密钥即可正常运行。CloudFoundry 有什么特别之处,我必须提供密钥?

2.) CloudFoundry 服务实例(请参阅:https ://registry.terraform.io/providers/IBM-Cloud/ibm/latest/docs/data-sources/service_instance )在 CloudFoundry 中创建服务实例,并在外部创建具有任意名称。“terraform destroy” 仅销毁服务实例,但保持 CloudFoundry 之外的服务不受影响。那是一个错误吗?有没有办法创建资源,然后是 CF 服务,然后将该服务绑定到资源(使用 terraform)?

3.) ibm_app(参见:https ://registry.terraform.io/providers/IBM-Cloud/ibm/latest/docs/resources/app )将 zip 文件作为输入。为什么没有资源(一些 github repo)?此外,如何访问私有 git 存储库 @git.cloud.ibm.com?terraform 环境中出现了一个 JWT 令牌,可以通过数据“ibm_iam_auth_token”获取。但是我如何使用它来访问 git repo?-- 当然,我总是可以提供访问令牌,这可能是正确的方法。但是为什么 devops 管道可以访问私有 git.cloud.ibm.com 存储库而 terraform 不能?这让我想到了最后一个问题:

4.) 如何在 ibm 云中通过 terraform 创建 devops 管道?-- 创建工具链在 aws 中工作正常。但是 ibm 云呢?

标签: ibm-cloudcloud-foundryterraform-provider-ibmibm-cloud-schematics

解决方案


  1. 由于 IAM 的限制,对于 CF 和经典基础设施资源,您需要提供 API 密钥。更多信息在这里:https ://cloud.ibm.com/docs/schematics?topic=schematics-schematics-limitations#provider-block

  2. 听起来这可能是一个错误 - 您可以在这里打开一个问题吗?:https ://github.com/IBM-Cloud/terraform-provider-ibm/issues/ 。似乎没有办法单独使用 Terraform 将服务绑定到 Cloud Foundry 应用程序。我们可以将其视为功能请求。

  3. 此样本展示了如何使用供应商“local-exec”从 GitHub 存储库准备应用程序 zip:https ://github.com/IBM-Cloud/terraform-provider-ibm/blob/master/examples/ibm-应用程序/main.tf。您需要使用访问令牌来访问私有存储库。

  4. 使用 Schematics 首先基于包含 Terraform 代码的 GitHub 存储库创建一个工作区。接下来,导航到“设置”选项卡,然后按“启用持续交付”。这将为您创建一个由 IBM DevOps Toolchains 提供支持的工具链。


推荐阅读