IBM Cloud Docs
正在供应

正在供应

IBM Cloud® Databases for etcd 已被弃用。 自 2025 年 4 月 1 日起,您将无法部署新的应用程序。 现有实例支持至 2025 年 10 月 15 日。 任何在该日期仍然存在的实例都将被删除。 有关更多信息,请参阅 IBM Cloud® Databases for etcd 的弃用。

通过 目录Cloud Databases CLI 插件Cloud Databases API或通过 Terraform来供应 IBM Cloud® Databases for etcd 部署。

通过 IBM Cloud 控制台进行供应

通过指定以下参数从控制台进行供应:

服务详细信息

  • 服务名称: 该名称可以是任何字符串,并且是 Web 和 CLI 中用于标识新部署的名称。
  • 资源组: 如果要将服务组织到 资源组 中,请在此字段中指定资源组。 否则,可以将其保留为缺省值。 有关更多信息,请参阅管理资源组
  • 位置: 部署的公共云区域或 Satellite 位置。

托管模型

  • 隔离: 为复杂的高性能企业工作负载提供安全的单租户产品。
  • 共享: 灵活的多租户产品,用于动态,微调和分离的容量选择。
    有关更多信息,请参阅 托管模型

资源分配

对资源分配进行微调。 可用选项因所选托管模型而异。

  • 隔离: 使用表来选择部署的每个成员的机器大小,并指定磁盘大小。
  • 共享: 缺省情况下,将选择最小的可能资源分配。 这是小型应用程序或测试的理想选择。 对于较大的分配,请选择 定制 磁贴,这将允许使用 2 + 核心进行灵活的资源配置。

根据您的需求指定磁盘大小。 可以在供应后增大此值,但不能减小此值以防止数据丢失。

服务配置

  • 数据库版本: 仅在部署时设置 这是数据库的部署版本。 建议运行首选版本以确保最佳性能。 有关更多信息,请参阅 版本策略
  • 加密: 仅在部署时设置 如果使用Key Protect,那么可以选择实例和密钥来加密部署的磁盘。 如果不使用自己的密钥,那么部署会自动创建和管理自己的磁盘加密密钥。
  • 端点: 在部署上配置 服务端点。 默认设置为专用

选择相应设置后,单击 创建 以启动供应过程。

通过 CLI 供应

通过 CLI 创建服务实例

在供应之前,请遵循文档中提供的指示信息来安装 IBM Cloud CLI 工具

  1. 登录到 IBM Cloud。 如果使用联合用户 ID,请务必改用一次性密码(ibmcloud login --sso)或使用 API ke(ibmcloud --apikey key or @key_file)进行身份验证。 有关如何使用 CLI 登录的更多信息,请参阅 "ibmcloud login 下的 常规 CLI(ibmcloud)命令

    ibmcloud login
    
  2. 使用如下命令供应 Databases for etcd 共享实例:

    ibmcloud resource service-instance-create <INSTANCE_NAME> <SERVICE_NAME> <SERVICE_PLAN_NAME> <LOCATION> <RESOURCE_GROUP> -p `{"members_host_flavor": "multitenant"}` --service-endpoints="<endpoint>"
    

    使用相同的 "members_host_flavor" -p 标记提供一个 Databases for etcd 隔离实例,然后指定 host_flavor value 参数。 例如: {"members_host_flavor": "b3c.4x16.encrypted"}

    ibmcloud resource service-instance-create <INSTANCE_NAME> <SERVICE_NAME> <SERVICE_PLAN_NAME> <LOCATION> <RESOURCE_GROUP> -p `{"members_host_flavor": "<host_flavor value>"}` --service-endpoints="<endpoint>"
    

    下面的表中描述了该命令中的字段。

    基本命令格式字段
    字段 描述 标志
    NAME 必需 实例名称可以是任何字符串,并且是 Web 和 CLI 中用于标识新部署的名称。
    SERVICE_NAME 必需 服务的名称或标识。 对于 Databases for etcd,请使用 databases-for-etcd
    SERVICE_PLAN_NAME 必需 标准套餐 (standard)
    LOCATION 必需 要部署的位置。 要检索区域列表,请使用 ibmcloud regions 命令。
    RESOURCE_GROUP 资源组名称。 默认值为 "default -g
    --parameters JSON file or JSON string of parameters to create service instance -p
    host_flavor 对于共享计算,请指定 multitenant。 要配置隔离计算实例,请使用 {"members_host_flavor": "<host_flavor value>"}host_flavor value 参数定义了隔离计算的大小。 有关更多信息,请参阅 托管模型.
    --service-endpoints Required 配置部署的Service endpointspublicprivatepublic-and-private )。

host_flavor 参数定义计算大小。 输入所需大小的相应值。 要供应共享计算实例,请指定 multitenant

主机风味大小参数
主机类型模板 host_flavor 值
共享计算 multitenant
4 个 CPU x 16 RAM b3c.4x16.encrypted
8 个 CPU x 32 RAM b3c.8x32.encrypted
8 个 CPU x 64 RAM m3c.8x64.encrypted
16 个 CPU x 64 RAM b3c.16x64.encrypted
32 个 CPU x 128 RAM b3c.32x128.encrypted
30 个 CPU x 240 RAM m3c.30x240.encrypted

在 Cloud Databases 隔离计算上不支持 CPU 和 RAM 自动缩放。 磁盘自动缩放可用。 如果已供应隔离实例或通过自动缩放从部署切换,请使用 IBM Cloud® Monitoring 集成 来监视资源,该集成提供内存,磁盘空间和磁盘 I/O 利用率的度量值。 要向实例添加资源,请手动缩放部署。

您将看到类似如下的响应:

Creating service instance INSTANCE_NAME in resource group default of account    USER...
OK
Service instance INSTANCE_NAME was created.

Name:                INSTANCE_NAME
ID:                  crn:v1:bluemix:public:databases-for-etcd:us-east:a/   40ddc34a846383BGB5b60e:dd13152c-fe15-4bb6-af94-fde0af5303f4::
GUID:                dd13152c-fe15-4bb6-af94-fde0af56897
Location:            LOCATION
State:               provisioning
Type:                service_instance
Sub Type:            Public
Service Endpoints:   private
Allow Cleanup:       false
Locked:              false
Created at:          2023-06-26T19:42:07Z
Updated at:          2023-06-26T19:42:07Z
Last Operation:
                     Status    create in progress
                     Message   Started create instance operation
  1. 要检查配置状态,请使用以下命令:

    ibmcloud resource service-instance <INSTANCE_NAME>
    

    完成后,您将看到类似如下的响应:

    Retrieving service instance INSTANCE_NAME in resource group default under account USER's Account as USER...
    OK
    
    Name:                  INSTANCE_NAME
    ID:                    crn:v1:bluemix:public:databases-for-etcd:us-east:a/40ddc34a953a8c02f109835656860e:dd13152c-fe15-4bb6-af94-fde0af5303f4::
    GUID:                  dd13152c-fe15-4bb6-af94-fde5654765
    Location:              <LOCATION>
    Service Name:          databases-for-etcd
    Service Plan Name:     standard
    Resource Group Name:   default
    State:                 active
    Type:                  service_instance
    Sub Type:              Public
    Locked:                false
    Service Endpoints:     private
    Created at:            2023-06-26T19:42:07Z
    Created by:            USER
    Updated at:            2023-06-26T19:53:25Z
    Last Operation:
                           Status    create succeeded
                           Message   Provisioning etcd with version 12 (100%)
    
  2. (可选) 通过运行类似于以下的命令来删除服务实例删除实例:

    ibmcloud resource service-instance-delete <INSTANCE_NAME>
    

--parameters 参数

service-instance-create 命令支持 -p 标志,该标志允许将 JSON 格式的参数传递到供应过程。 某些参数值为“云资源名称”(CRN),用于唯一地标识云中的资源。 所有参数名称和值都作为字符串传递。

例如,如果要从特定备份供应数据库,并且新数据库部署在三个成员中总共需要 9 GB 内存,那么用于为每个成员供应 3 GB 的命令如下所示:

ibmcloud resource service-instance-create databases-for-etcd <INSTANCE_NAME> standard us-south \
-p \ '{
  "backup_id": "crn:v1:blue:public:databases-for-etcd:us-south:a/54e8ffe85dcedf470db5b5ee6ac4a8d8:1b8f53db-fc2d-4e24-8470-f82b15c71717:backup:06392e97-df90-46d8-98e8-cb67e9e0a8e6",
  "members_memory_allocation_mb": "3072"
}' --service-endpoints="private"

通过资源控制器 API 进行供应

执行以下步骤以使用 资源控制器 API进行供应。

  1. 获取 来自 API 令牌的 IAM 令牌

  2. 您需要知道要部署到的资源组的标识。 此信息可通过 IBM Cloud CLI 获取。

    使用类似如下的命令:

    ibmcloud resource groups
    
  3. 您需要了解要部署到的区域。

    要列出可从当前区域供应部署的所有区域,请使用 Cloud Databases CLI 插件

    该命令如下所示:

    ibmcloud cdb regions --json
    

    获取所有信息后,使用 IBM Cloud 资源控制器 供应新的资源实例

    curl -X POST \
      https://resource-controller.cloud.ibm.com/v2/resource_instances \
      -H 'Authorization: Bearer <>' \
      -H 'Content-Type: application/json' \
        -d '{
        "name": "my-instance",
        "target": "blue-us-south",
        "resource_group": "5g9f447903254bb58972a2f3f5a4c711",
        "resource_plan_id": "databases-for-etcd-standard",
        "parameters": {
                 "members_host_flavor":"b3c.4x16.encrypted",
                 "service_endpoints":"private",
                 "version": "<version>"
               }
      }'
    

    要创建共享计算实例,请参考以下示例:

    curl -X POST \
      https://resource-controller.cloud.ibm.com/v2/resource_instances \
      -H "Authorization: Bearer <TOKEN>" \
      -H 'Content-Type: application/json' \
        -d '{ \
        "name": "my-instance", \
        "target": "us-south", \
        "resource_group": "<RESOURCE_GROUP_ID>", \
        "resource_plan_id": "<SERVICE_PLAN_NAME>", \
        "parameters": {
          "members_host_flavor": "multitenant",
          "service_endpoints": "private",
          "members_memory_allocation_mb": 16384,
          "members_cpu_allocation_count": 4
        } \
      }' \
    
     Provision a Databases for etcd Isolated instance with the same `"members_host_flavor"` parameter, setting it to the desired Isolated size. Available hosting sizes and their `members_host_flavor value` parameters are listed in [Table 2](#members_host-flavor-parameter-api). For example, `{"members_host_flavor": "b3c.4x16.encrypted"}`. Note that since the host flavor selection includes CPU and RAM sizes (`b3c.4x16.encrypted` is 4 CPU and 16 RAM), this request does not accept both, an Isolated size selection and separate CPU and RAM allocation selections.
    
    curl -X POST \
      https://resource-controller.cloud.ibm.com/v2/resource_instances \
      -H "Authorization: Bearer <TOKEN>" \
      -H 'Content-Type: application/json' \
        -d '{ \
        "name": "my-instance", \
        "target": "us-south", \
        "resource_group": "5g9f447903254bb58972a2f3f5a4c711", \
        "resource_plan_id": "<SERVICE_PLAN_NAME>", \
        "parameters": {
        "members_host_flavor": "b3c.4x16.encrypted",
        "service_endpoints": "private"
        } \
      }' \
    

    参数 nametargetresource_groupresource_plan_idservice_endpoints 都是必填项。

host_flavor 参数定义计算大小。 输入所需大小的相应值。 要供应共享计算实例,请指定 multitenant

主机口味大小参数
主机类型模板 host_flavor 值
共享计算 multitenant
4 个 CPU x 16 RAM b3c.4x16.encrypted
8 个 CPU x 32 RAM b3c.8x32.encrypted
8 个 CPU x 64 RAM m3c.8x64.encrypted
16 个 CPU x 64 RAM b3c.16x64.encrypted
32 个 CPU x 128 RAM b3c.32x128.encrypted
30 个 CPU x 240 RAM m3c.30x240.encrypted

在 Cloud Databases 隔离计算上不支持 CPU 和 RAM 自动缩放。 磁盘自动缩放可用。 如果已供应隔离实例或通过自动缩放从部署切换,请使用 IBM Cloud® Monitoring 集成 来监视资源,该集成提供内存,磁盘空间和磁盘 I/O 利用率的度量值。 要向实例添加资源,请手动缩放部署。

附加参数列表

  • backup_id-要从中复原的备份资源的 CRN。 备份必须由具有相同服务标识的数据库部署创建。 在供应后装入备份,并启动使用该数据的新部署。 备份 CRN 的格式为 crn:v1:<...>:backup:<uuid>。 如果省略,那么会将数据库配置为空。

  • version-要供应的数据库的版本。 如果省略,那么将使用最新的主版本和次版本创建数据库。

  • disk_encryption_key_crn-随后用于磁盘加密的 KMS 密钥 (例如,Hyper Protect Crypto ServicesKey Protect) 的 CRN。 KMS 密钥 CRN 的格式为 crn:v1:<...>:key:<id>

  • backup_encryption_key_crn-随后用于备份加密的 KMS 密钥 (例如,Hyper Protect Crypto ServicesKey Protect) 的 CRN。 KMS 密钥 CRN 的格式为 crn:v1:<...>:key:<id>

    要将密钥用于备份,必须首先 启用服务到服务委派

  • members_memory_allocation_mb-要在数据库中的数据库成员之间共享的内存总量。 例如,如果值为 "6144",并且有三个数据库成员,那么部署将获取总共 6 GB 的 RAM,从而为每个成员提供 2 GB 的 RAM。 如果省略,那么将使用数据库类型的缺省值。 此参数仅适用于“多租户”。

  • members_disk_allocation_mb-要在数据库中的数据库成员之间共享的磁盘总量。 例如,如果值为 "30720",并且有三个成员,那么部署将获得总计 30 GB 的磁盘,从而为每个成员提供 10 GB 的磁盘。 如果省略,那么将使用数据库类型的缺省值。 此参数仅适用于“多租户”。

  • members_cpu_allocation_count-启用指定的专用核心数并将其分配给您的部署。 例如,要对每个成员使用两个专用核心,请使用 "members_cpu_allocation_count":"2"。 如果省略,那么缺省值“共享 CPU”将使用共享主机上的计算资源。 此参数仅适用于“多租户”。

  • service_endpoints- 您的部署支持的 服务端点publicprivate

    在 CLI 中,service-endpoints 是一个标志,而不是参数。

使用 Terraform 进行供应

使用 Terraform 通过 ibm_database Resource for Terraform 支持供应 Cloud Databases 部署来管理基础结构。

在现有实例上执行 Terraform 脚本之前,请使用 terraform plan 命令将当前基础结构状态与 Terraform 文件中定义的期望状态进行比较。 对 resource_group_idservice planversionkey_protect_instancekey_protect_keybackup_encryption_key_crn 属性的任何更改都会重新创建实例。 有关具有 Forces new resource 规范的当前自变量引用的列表,请参阅 ibm_database Terraform Registry

要通过隔离计算供应实例,请执行以下操作:

data "ibm_resource_group" "group" {
  name = "<your_group>"
}
resource "ibm_database" "<your_database>" {
  name              = "<your_database_name>"
  plan              = "standard"
  location          = "eu-gb"
  service           = "databases-for-mongodb"
  resource_group_id = data.ibm_resource_group.group.id
  service_endpoints = "private"
  tags              = ["tag1", "tag2"]
  adminpassword                = "password12"
  group {
    group_id = "member"
    host_flavor {
      id = "b3c.8x32.encrypted"
    }
    disk {
      allocation_mb = 256000
    }
  }
  users {
    name     = "user123"
    password = "password12"
  }
  allowlist {
    address     = "172.168.1.1/32"
    description = "desc"
  }
}
output "ICD Etcd database connection string" {
  value = "http://${ibm_database.test_acc.ibm_database_connection.icd_conn}"
}

要通过共享计算供应实例,请执行以下操作:

data "ibm_resource_group" "group" {
  name = "<your_group>"
}
resource "ibm_database" "<your_database>" {
  name              = "<your_database_name>"
  plan              = "standard"
  location          = "eu-gb"
  service           = "databases-for-mongodb"
  resource_group_id = data.ibm_resource_group.group.id
  service_endpoints = "private"
  tags              = ["tag1", "tag2"]
  adminpassword                = "password12"
  group {
    group_id = "member"
    host_flavor {
      id = "multitenant"
    },
    cpu {
      allocation_count = 3
    }
    memory {
      allocation_mb = 12288
    }
    disk {
      allocation_mb = 256000
    }
  }
  users {
    name     = "user123"
    password = "password12"
  }
  allowlist {
    address     = "172.168.1.1/32"
    description = "desc"
  }
}
output "ICD Etcd database connection string" {
  value = "http://${ibm_database.test_acc.ibm_database_connection.icd_conn}"
}

host_flavor 参数定义隔离计算大小。 输入所需大小的相应值。 要供应共享计算实例,请指定 multitenant

主机口味大小参数
主机类型模板 host_flavor 值
共享计算 multitenant
4 个 CPU x 16 RAM b3c.4x16.encrypted
8 个 CPU x 32 RAM b3c.8x32.encrypted
8 个 CPU x 64 RAM m3c.8x64.encrypted
16 个 CPU x 64 RAM b3c.16x64.encrypted
32 个 CPU x 128 RAM b3c.32x128.encrypted
30 个 CPU x 240 RAM m3c.30x240.encrypted

在 Cloud Databases 隔离计算上不支持 CPU 和 RAM 自动缩放。 磁盘自动缩放可用。 如果已供应隔离实例或通过自动缩放从部署切换,请使用 IBM Cloud® Monitoring 集成 来监视资源,该集成提供内存,磁盘空间和磁盘 I/O 利用率的度量值。 要向实例添加资源,请手动缩放部署。