0

我有一个现有的Db2 Warehouse on Cloud实例,它部署到组织和空间。现在,我想将该服务绑定到一个应用程序,以便使用 IBM Cloud Code Engine 进行部署

ibmcloud ce application bind --name henriks-app --service-instance myDb2

myDb2 不作为 IAM 资源存在,因为它是 CF 资源。我将如何将两者结合在一起?看来我需要创建某种形式的自定义包装器。

4

1 回答 1

1

将服务手动连接到代码引擎应用程序的最佳方法是将服务凭证添加到代码引擎密钥,然后使用环境变量或卷安装将该密钥附加到您的应用程序。

虽然您认为 Db2 Warehouse 不是典型的 IAM-Enabled 服务类型是正确的,但根据IBM Cloud Db2 Warehouse 文档,可以使用 IAM 服务 ID 和 API 密钥创建与 Db2 Warehouse 的客户端连接。

以下是我将 Db2 实例“绑定”到代码引擎应用程序的方式:

  1. 从IAM 服务 ID页面创建新的服务 ID
  2. 在“分配访问权限”>“访问服务 ID 附加访问权限”>“IAM 服务”下,您将找到“Db2 Warehouse”作为选项,您可以从那里配置确切的权限(例如,向哪个实例授予权限,哪些角色等)
  3. 单击“分配访问权限”完成配置
  4. 使用 CLI,登录到您的帐户并生成新的 API 密钥,例如在第 1 步中创建的服务 ID 的名称在ibmcloud iam service-api-key-create mydb2key SERVICE_ID_NAME --output JSON > mydb2.json哪里SERVICE_ID_NAME
  5. 以您的代码引擎项目为目标,然后使用 API 密钥 JSON 创建一个新密钥,例如ibmcloud ce secret create --name mydb2 --from-file MYDB2=mydb2.json
  6. 将秘密作为环境变量附加到您的应用程序,例如ibmcloud ce app update --name myapp --env-from-secret mydb2

应用程序更新完成后,您的应用程序将有权访问名为 的环境变量MYDB2,该变量将具有包含您的 API 密钥的 JSON 对象字符串的值。

您将在 Code Engine 文档中找到有关创建机密在应用程序中使用机密的更多信息。

于 2021-02-01T22:01:04.857 回答