IBM Cloud Docs
创建实例模板

创建实例模板

您可以创建实例模板以定义用于供应一个或多个虚拟服务器的实例详细信息。 创建实例模板时,可以使用该模板来供应单个虚拟服务器实例,也可以在实例组中同时供应多个实例。

使用 UI 创建实例模板

实例模板定义根据模板创建的虚拟服务器实例的详细信息。 例如,指定映像模板的概要文件 (vCPU 和内存),映像,连接的卷和网络接口。

要创建实例模板,请完成以下步骤。

  1. IBM Cloud 控制台,单击 导航菜单 图标菜单图标 > 基础架构 VPC 图标 > 计算 > 实例模板
  2. 单击新建实例模板,然后输入表 1 中的信息。
  3. 完成信息后,单击 创建实例模板

创建实例模板时,将执行验证步骤以确保可以使用模板来供应虚拟服务器实例。

实例模板选择
字段
地区 位置由区域(特定地理区域)和专区(区域内的容错数据中心)组成。 选择要在其中创建虚拟服务器实例的地理位置、地区和区域。
名称 虚拟服务器实例的名称是必需的。
资源组 为实例选择资源组。
图像

单击 更改图像 以选择图像。 在“选择映像”页面上,可以选择库存映像,定制映像,目录映像,快照或现有卷。 如果配置实例的地理位置支持该架构,则可以选择 x86s390x 架构。 选择图像后,单击 保存

  • 库存图像: 您可以从可用库存图像中进行选择。 有关更多信息,请参阅 x86 虚拟服务器映像s390x 虚拟服务器映像
  • 定制映像: 定制映像可以是您定制并上载到 IBM Cloud Object Storage的映像,然后可以将其导入到 IBM Cloud VPC中。 您还可以使用从引导卷创建的定制映像。 有关定制映像的更多信息,请参阅 定制映像入门
  • 目录映像: 目录映像是导入到专用目录中的定制映像。 有关目录映像的更多信息,请参阅 在专用目录中使用定制映像时的 VPC 注意事项
  • 快照: 您可以从可用快照中进行选择。 有关更多信息,请参阅 关于 Block Storage Snapshots for VPC
  • 现有卷: 您可以从现有卷中进行选择。 指定的卷必须处于未连接状态,并且必须具有与实例概要文件具有相同体系结构的操作系统。
Profile 单击 更改配置文件,从所有可用的 vCPU 和 RAM 组合中进行选择。 配置文件系列包括平衡、计算、内存和 GPU。 有关更多信息,请参阅概要文件
SSH 密钥 必须选择现有公用 SSH 密钥,或者单击 创建 SSH 密钥 以创建新的 SSH 密钥。 只能创建 RSA SSH 密钥。 对于 ED25519 SSH 密钥,必须上传密钥信息。 有关创建 SSH 密钥的更多信息,请参阅 使用 UI 创建 SSH 密钥。 在实例处于运行状态后,SSH 密钥用于安全地连接到实例。

注:** 字母-数字组合限 100 个字符。 SSH 密钥可以是 RSA 或 Ed25519 密钥。 仅当操作系统支持此密钥类型时,才能使用 Ed25519。 ED25519不能与 Windows 或VMware映像一起使用。

有关更多信息,请参阅 开始使用 SSH 密钥

引导卷 所有概要文件的缺省引导卷大小均为 100 GB。 根据映像允许的内容,可以指定更大的引导卷容量 (最多 250 GB)。 您还可以指定用户标记。
数据卷 供应实例时,可以添加要包含的一个或多个辅助数据卷。 要添加卷,请单击 创建。 您可以为卷指定客户管理的加密和用户标记。
虚拟私有云 指定要在其中创建实例的 IBM Cloud VPC。 您可以使用现有的 VPC,也可以创建新的 VPC。 要创建新的 VPC,请单击 新建 VPC
网络接口 定义进入 IBM Cloud VPC 的网络连接。 缺省情况下,将为实例模板选择新选项 具有虚拟网络接口的网络连接。 或者,您可以选择旧选项 实例网络接口。 在供应虚拟服务器时选择的任何类型的网络接口选项都将在虚拟服务器的生命周期内持久存在。 选择网络接口类型后,可以单击 Edit 图标 Edit 图标 更新网络接口的详细信息,例如子网或相关安全组。
用户数据 您可以添加自动执行公共配置任务或运行脚本的用户数据。 有关更多信息,请参阅用户数据
元数据 默认情况下已禁用,可让从该模板创建的实例收集自身的元数据。 单击切换打开元数据服务。 有关更多信息,请参阅 关于 VPC 的实例元数据
添加到专用主机 您可以将虚拟服务器实例添加到专用主机,在单租户空间中创建实例。 要供应专用实例,您必须具有可用的专用主机,或者 创建一个
添加到放置组 您可以为实例选择一个放置组。 要启用放置组,请单击切换开关。 然后,选择或创建实例的放置组。 如果添加布置组,那么将根据布置组策略来布置实例。 有关更多信息,请参阅 关于布置组
主机故障自动重新启动 缺省情况下启用该设置。 要禁用主机故障自动重新启动,请单击切换开关。 有关更多信息,请参阅 主机故障恢复策略

使用 CLI 创建实例模板

实例模板定义根据模板创建的虚拟服务器实例的详细信息。 例如,指定实例模板的概要文件 (vCPU 和内存),映像,连接的卷和网络接口。 您可以使用命令行界面 (CLI) 在 IBM Cloud VPC 中创建一个或多个实例模板。

有关使用从专用目录共享的定制映像创建虚拟服务器实例的更多信息,请参阅 从专用目录映像供应

准备工作

确保设置 IBM Cloud® CLI 环境IBM Cloud VPC

收集信息以创建实例模板

准备好创建实例模板了吗? 在运行 ibmcloud is instance-template-create 命令之前,您必须收集需要包含在实例模板和命令选项中的详细信息。 例如,您需要 VPC 的 ID 或名称,以及要创建实例模板的区域名称。 您还需要提供要使用的实例配置文件的名称,以及要创建模板的子网的 ID 或名称。

收集以下必需的实例模板详细信息。

所需实例模板详细信息
实例模板详细信息 列示命令 VPC CLI 参考文档
VPC ibmcloud is vpcs 列出所有 VPC
区域 ibmcloud is zones 列出区域中的所有区域
Profile ibmcloud is instances 列出所有虚拟服务器实例
子网 ibmcloud is subnets 列出所有子网
图像 ibmcloud is image 列出所有图像
密钥 ibmcloud is keys 列出所有密钥
放置组 ibmcloud is placement-groups 列出所有放置组

使用以下命令确定创建实例模板所需的信息。

  1. 列出与您的账户相关联的地区。

    ibmcloud is regions
    

    请参阅以下示例。

    $ ibmcloud is regions
    Listing regions under account Test Account as user test.user@ibm.com...
    Name       Endpoint                              Status
    au-syd     https://au-syd.iaas.cloud.ibm.com     available
    br-sao     https://br-sao.iaas.cloud.ibm.com     available
    ca-tor     https://ca-tor.iaas.cloud.ibm.com     available
    eu-de      https://eu-de.iaas.cloud.ibm.com      available
    eu-es      https://eu-es.iaas.cloud.ibm.com      available
    eu-gb      https://eu-gb.iaas.cloud.ibm.com      available
    jp-osa     https://jp-osa.iaas.cloud.ibm.com     available
    jp-tok     https://jp-tok.iaas.cloud.ibm.com     available
    us-east    https://us-east.iaas.cloud.ibm.com    available
    us-south   https://us-south.iaas.cloud.ibm.com   available
    
  2. 切换到目标区域。

    ibmcloud target -r <region-name>
    
  3. 列出与目标区域关联的区域。

    ibmcloud is zones
    

    在以下示例中,该命令在 us-south 区域中运行,并且输出将显示该区域中的可用区域。

    $ ibmcloud is zones
    Listing zones in target region us-south under account Test Account as user test.user@ibm.com...
    Name         Region     Status
    us-south-1   us-south   available
    us-south-2   us-south   available
    us-south-3   us-south   available
    
  4. 列出与帐户关联的 IBM Cloud VPC。

    ibmcloud is vpcs
    

    在此示例中,您将看到与以下输出类似的响应。

    ID                                          Name                         Status      Classic access   Default network ACL                   Default security group                 Resource group
    r006-0d37163a-701d-4ad6-9ece-a3e34cf28935   cdl                          available   false            acl-test-1                            pedicure-budding-providing-excluded    Default
    r006-212def4b-93f0-4b9a-a331-94178b99d474   cli-test-1                   available   false            surprise-pacifier-cubicle-demystify   foyer-alongside-rug-zen                Default
    

    If you don't have one available, you can create an IBM Cloud VPC by using the ibmcloud is vpc-create command. 有关创建 IBM Cloud VPC 的更多信息,请参阅 IBM Cloud VPC CLI 参考

  5. 列出创建实例模板的可用配置文件。

    ibmcloud is instance-profiles
    

    命令输出类似于下面的示例。

    Name               vCPU Manufacturer   Architecture   Family              vCPUs   Memory(GiB)   Bandwidth(Mbps)   Volume bandwidth(Mbps)   GPUs   Storage(GB)
    bx2-2x8            intel               amd64          balanced            2       8             4000              1000                     -      -
    bx2d-2x8           intel               amd64          balanced            2       8             4000              1000                     -      1x75
    bx2-4x16           intel               amd64          balanced            4       16            8000              2000                     -      -
    bx2d-4x16          intel               amd64          balanced            4       16            8000              2000                     -     1x150
    bx2-8x32           intel               amd64          balanced            8       32            16000             4000                     -      -
    bx2d-8x32          intel               amd64          balanced            8       32            16000             4000                     -     1x300
    bx2-16x64          intel               amd64          balanced            16      64            32000             8000                     -      -
    bx2d-16x64         intel               amd64          balanced            16      64            32000             8000                     -      1x600
    
  6. 列出与 IBM Cloud VPC 关联的子网。

    ibmcloud is subnets
    

    命令输出类似于下面的示例。

    ID                                          Name                       Status      Subnet CIDR       Addresses   ACL                                   Public Gateway   VPC                     Zone         Resource group
    0717-cd4f74f1-bfae-423a-886b-9163256ec4a9   subnet-south-1             available   10.240.0.0/24     124/256     acl-test-1                            -                cdl                     us-south-1   Default
    0727-9447a2c3-efb8-44d2-a180-115531e0b0d3   cdl                        available   10.240.64.0/24    238/256     acl-test-1                            -                cdl                     us-south-2   Default
    

    要获得实例组的最佳性能,请确保使用 32 或更大的子网大小。

    如果没有可用的子网,可以使用 ibmcloud is subnet-create 命令创建一个子网。 有关创建子网的更多信息,请参阅 IBM Cloud VPCCLI 参考

  7. 列出用于创建实例模板的可用图像。

    ibmcloud is images
    

    命令输出类似于下面的示例。

    ID                                          Name                                                Status       Arch    OS name                              OS version                                               File size(GB)   Visibility   Owner type   Encryption   Resource group
    r006-3fa3bea4-7f9c-4eeb-8248-ab1f6e03185b   ibm-centos-7-9-minimal-amd64-9                      available    amd64   centos-7-amd64                       7.x - Minimal Install                                    1               public       provider     none         Default
    r006-c55167af-ea8c-4c27-871f-ccc9c868753e   ibm-centos-stream-8-amd64-1                         available    amd64   centos-stream-8-amd64                8                                                        2               public       provider     none         Default
    
  8. 列出可以与实例关联的可用 SSH 密钥。

    ibmcloud is keys
    

    命令输出类似于下面的示例。

    ID                                          Name     Type   Length   FingerPrint          Resource group
    r006-89ec781c-9630-4f76-b9c4-a7d204828d61   my-key   rsa    4096     gtnf+pdX2PYI9Ofq..   Default
    

    如果没有可用的 SSH 密钥,可以使用 ibmcloud is key-create 命令创建 SSH 密钥。

    RSA 和 ED25519 是您可以使用的两种 SSH 密钥。 但是,您不能在 Windows 或 VMware 映像中使用 ED25519 SSH 密钥类型。 只能将 RSA SSH 密钥用于这些映像。 有关更多信息,请参阅 SSH 密钥入门

  9. 列出可与实例关联的所有可用安置组。

    ibmcloud is placement-groups
    

    命令输出类似于下面的示例。

    Listing placement groups for generation 2 compute in all resource groups and region us-east under account vpcdemo as user    yaohaif@cn.ibm.com...
    ID                                            Name                             State    Strategy       Resource Group
    c5f1f366-b92a-4080-991a-aa5c2e33d96b          placement-group-region-us-east   stable   power_spread       5018a8564e8120570150b0764d39ebcc
    placement-group-cccc-cccc-cccc-cccccccccccc   vsi-placementGroup1              stable   host_spread    5018a8564e8120570150b0764d39ebcc
    placement-group-bbbb-bbbb-bbbb-bbbbbbbbbbbb   vsi-placementGroup2              stable   power_spread     5018a8564e8120570150b0764d39ebcc
    placement-group-aaaa-aaaa-aaaa-aaaaaaaaaaaa   vsi-placementGroup3              stable   power_spread   1d18e482b282409e80eff354c919c6a2
    

通过 CLI 创建实例模板

知道这些值后,就可以使用它们运行 instance-template-create 命令。 除了收集的信息外,还必须指定实例的名称。

ibmcloud is instance-template-create INSTANCE_TEMPLATE_NAME VPC ZONE_NAME PROFILE_NAME SUBNET --image IMAGE

例如,如果您在_us-south-3_中创建了一个名为_my-instance-template_的实例模板,并使用了_bx2-2x8_配置文件,您的 instance-template-create 命令将与下面的示例相似。

ibmcloud is instance-template-create my-instance-template 0738-xxx1xx23-4xx5-6789-12x3-456xx7xx123x us-south-3 bx2-2x8 0076-2249dabc-8c71-4a54-bxy7-953701ca3999 --image r008-54e9238a-feaa-4f90-9742-7424cb2b9ff1 --placement-group r006-953db18c-068c-4a11-9b07-645684b444b2

位置

  • INSTANCE_TEMPLATE_NAMEmy-instance-template
  • VPC0738-xxx1xx23-4xx5-6789-12x3-456xx7xx123x
  • ZONE_NAMEus-south-3
  • PROFILE_NAMEbx2-2x8
  • SUBNET_ID0076-2249dabc-8c71-4a54-bxy7-953701ca3999
  • IMAGEr008-54e9238a-feaa-4f90-9742-7424cb2b9ff1
  • PLACEMENT_GROUP_ID 是 _r134-953db18c-068c-4a11-9b07-645684b444b2

在此示例中,您将看到与以下输出类似的响应。

下面的响应会因使用的值不同而不同。

ID                          0727-0fdac0fb-ad59-4d7b-9f03-604ddc1db002
Name                        my-instance-template
CRN                         crn:v1:bluemix:public:is:us-south-2:a/7f75c7b025e54bc5635f754b2f888665::instance-template:0727-0fdac0fb-ad59-4d7b-9f03-604ddc1db002
Resource group              Default
Image                       r006-3fa3bea4-7f9c-4eeb-8248-ab1f6e03185b
VPC                         r006-212def4b-93f0-4b9a-a331-94178b99d474
Zone                        us-south-2
Profile                     bx2-2x8
Boot volume                 Name   Capacity   Profile           IOPS   Attachment name                      Auto delete   Tags
                            -      100        general-purpose   0      illude-education-spotted-reanalyze   true          -

Primary Network Interface   Name      Subnet ID                                   Security Groups                             Allow source IP spoofing   Reserved IP Address   Reserved IP ID   Reserved IP Name   Reserved IP Auto Delete
                            primary   0727-944126da-e46d-4104-8ba4-ab5a5832864b   r006-2295f00e-8af0-4736-be11-94677955b6b2   false                      -                     -                -                  -

Placement                   ID
                            r006-9994e3ab-18ae-49a7-95cf-25c77e09fa76

Created                     2023-03-29T22:02:59+05:30

有关 ibmcloud is instance-template-create 命令的更多示例,请参阅 VPC CLI 参考

创建实例模板时,将执行验证步骤以确保可以使用模板来供应虚拟服务器实例。 需要更多帮助吗? 您可以随时运行 ibmcloud is help instance-template-create 来显示创建实例模板的帮助。

使用 API 创建实例模板

实例模板定义根据模板创建的虚拟服务器实例的详细信息。 例如,指定实例模板的概要文件 (vCPU 和内存),映像,连接的卷和网络接口。 您可以使用应用程序编程接口 (API),在 IBM Cloud VPC 中创建一个或多个实例模板。

有关使用从专用目录共享的定制映像创建虚拟服务器实例的更多信息,请参阅 从专用目录映像供应

准备工作

定义 IAM 令牌、API 端点和 API 版本的变量。 有关指示信息,请参阅设置 API 和 CLI 环境

确保您拥有所需的访问权限。 要调用这些方法,必须根据列出的任何条件为您分配一个或多个包含以下操作的 IAM 访问角色。 您可以通过转至 Cloud Identity and Access Management 仪表板的“用户”页面来检查您的访问权。

要了解有关 API 的更多信息,一个好办法是在 IBM Cloud 控制台中的供应页面上单击获取样本 API 调用。 您可以查看正确的 API 请求序列,并更好地了解操作及其依赖项。

收集信息以创建实例模板

准备好创建实例模板了吗? 在使用 POST 方法发出 /instance/templates 请求之前,您需要知道实例模板要包含的详细信息。 例如,您需要 VPC 的 ID 或名称,以及要创建实例模板的区域名称。 您还需要提供要使用的实例配置文件的名称,以及要创建模板的子网的 ID 或名称。

通过发出以下 API 调用来收集以下必需实例模板详细信息:

所需的应用程序接口实例模板详情
实例详细信息 列表方法 API 规范文档
VPC GET /vpcs 列出所有 VPC
区域 GET /regions/<region>/zones 列出区域中的所有专区
Profile GET /instance/profiles 列出所有实例概要文件
子网 GET /subnets 列出所有子网
图像 GET /images 列出所有图像
GET /keys 列出所有密钥
放置组 GET /placement_groups 列出所有放置组

使用以下命令确定创建新实例模板所需的信息。

  1. 列出与帐户关联的 IBM Cloud VPC。

    curl -X GET "$vpc_api_endpoint/v1/vpcs?version=2023-07-13&generation=2" -H "Authorization: Bearer $iam_token"
    

    如果没有可用资源,那么可以使用 POST /vpcs 方法创建 IBM Cloud VPC。 有关创建 IBM Cloud VPC的更多信息,请参阅 IBM Cloud API Docs-创建 VPC

  2. 列出与帐户关联的区域。

    curl -X GET "$vpc_api_endpoint/v1/regions?version=2023-07-13&generation=2" -H "Authorization: Bearer $iam_token"
    
  3. 列出与该区域相关的区域。

    curl -X GET "$vpc_api_endpoint/v1/regions/$region_name/zones?version=2023-07-13&generation=2" -H "Authorization: Bearer $iam_token"
    
  4. 列出创建实例模板的可用配置文件。

    curl -X GET "$vpc_api_endpoint/v1/instance/profiles?version=2023-07-13&generation=2" -H "Authorization: Bearer $iam_token"
    
  5. 列出与 IBM Cloud VPC 关联的子网。

    curl -X GET "$vpc_api_endpoint/v1/subnets?version=2023-07-13&generation=2" -H "Authorization: Bearer $iam_token"
    

    要获得实例组的最佳性能,请确保使用 32 或更大的子网大小。

    如果没有可用的子网,那么可以使用 POST /subnets 方法来创建子网。 有关创建 IBM Cloud VPC的更多信息,请参阅 IBM Cloud API Docs-创建子网

  6. 列出用于创建实例模板的可用图像。

    curl -X GET "$vpc_api_endpoint/v1/images?version=2023-07-13&generation=2" -H "Authorization: Bearer $iam_token"
    
  7. 列出可以与实例关联的可用 SSH 密钥。

    curl -X GET "$vpc_api_endpoint/v1/keys?version=2023-07-13&generation=2" -H "Authorization: Bearer $iam_token"
    

    如果没有可用的 SSH 密钥,可以使用 ibmcloud is key-create 命令创建 SSH 密钥。

    如果没有可用的 SSH 密钥,那么可以使用 POST /keys 方法创建一个 SSH 密钥。 有关创建 IBM Cloud VPC的更多信息,请参阅 IBM Cloud API 文档-创建密钥

    RSA 和 ED25519 是您可以使用的两种 SSH 密钥。 但是,您不能在 Windows 或 VMware 映像中使用 ED25519 SSH 密钥类型。 只能将 RSA SSH 密钥用于这些映像。 有关更多信息,请参阅 SSH 密钥入门

  8. 列出可与实例关联的所有可用安置组。

    curl -X GET "$vpc_api_endpoint/v1/placement_groups?version=2023-07-13&generation=2" -H "Authorization: Bearer $iam_token"
    

使用 API 创建实例模板

了解这些值后,使用它们通过 /instance/templates 方法发出 POST 请求。 除了收集的信息外,还必须指定实例的名称。

例如,如果在 us-south-1 中创建名为 my-instance-template 的实例模板,并使用 bx2-2x8 概要文件,那么 POST /instance/templates 命令将类似于以下样本。

curl -X POST "$vpc_api_endpoint/v1/instance/templates?version=2023-07-13&generation=2" -H "Authorization: Bearer $iam_token" -d '{
      "primary_network_interface": {
        "subnet": {
          "id": "0d933c75-492a-4756-9832-1200585dfa79"
        }
      },
      "name": "my-instance-template",
      "zone": {
        "name": "us-south-1"
      },
      "vpc": {
        "id": "dc201ab2-8536-4904-86a8-084d84582133"
      },
      "profile": {
        "name": "bx2-2x8"
      },
      "image": {
        "id": "3f9a2d96-830e-4100-9b4c-663225a3f872"
      },
      "placement_group": {
          "id": "363f6d70-0000-0001-0000-00000013b96c"
      },
      "keys": [
        {
          "id": "363f6d70-0000-0001-0000-00000013b96c"
         }
      ]
    }'

位置

  • instance_template_namemy-instance-template
  • vpcdc201ab2-8536-4904-86a8-084d84582133
  • zone_name is us-south-1
  • profile_namebx2-2x8
  • subnet_id0d933c75-492a-4756-9832-1200585dfa79
  • image 是 3f9a2d96-830e-4100-9b4c-663225a3f872
  • keys363f6d70-0000-0001-0000-00000013b96c
  • placement_group363f6d70-0000-0001-0000-00000013b96c

有关 /instance/templates 方法的更多示例,请参阅 创建实例模板 API 文档。

使用 Terraform 创建实例模板

您可以使用 Terraform 在 IBM Cloud VPC 中创建一个或多个实例模板。

有关使用从专用目录共享的定制映像创建虚拟服务器实例的更多信息,请参阅 使用 Terraform 创建实例

准备工作

确保设置 Terraform for VPC

收集信息以创建实例模板

准备好创建实例模板了吗? 在配置中包含 ibm_is_instance_template 资源之前,您需要了解要在实例模板中包含的详细信息。 例如,您需要 VPC 的 ID 或名称,以及要创建实例模板的区域名称。 您还需要提供要使用的实例配置文件的名称,以及要创建模板的子网的 ID 或名称。

收集以下必需的 Terraform 实例模板详细信息。

所需的 Terraform 实例模板详细信息
实例模板详细信息 列表块 VPC Terraform 数据源参考文档
实例概要文件 ibm_is_instance_profiles ibm_is_instance_profiles
图像 ibm_is_images ibm_is_images
VPC ibm_is_vpc ibm_is_vpc
子网 ibm_is_subnets ibm_is_subnets
区域 ibm_is_zone ibm_is_zone
密钥 ibm_is_ssh_keys ibm_is_ssh_keys
放置组 ibm_is_placement_groups ibm_is_placement_groups

使用以下指南确定创建新实例模板所需的信息。

使用 DataSource 块收集以下信息。

  1. 收集实例概要文件详细信息。 对您选择的概要文件运行以下块。 请参阅 x86 实例概要文件,以获取可用概要文件的列表。 有关更多信息,请参阅 ibm_is_instance_profiles 上的 Terraform 文档。 通过引用实例概要文件数据源来使用实例概要文件。 有关更多信息,请参阅 ibm_is_instance_profile 上的 Terraform 文档。

    data "ibm_is_instance_profile" "example_profile" {
       name = "bx2-2x8"
    }
    
  2. 列出可用于创建实例的映像。 您可以使用库存映像,帐户中的定制映像或专用目录中与帐户共享的映像。 有关详细信息,请参阅 Terraform 文档 ibm_is_image。 如果计划使用从私有目录共享的映像,请参阅有关 ibm_cm_versionibm_cm_offering_instance 的 Terraform 文档。

    • 从实例的帐户中选择股票映像或定制映像。
    data "ibm_is_image" "example_image" {
       name = "ibm-centos-7-6-minimal-amd64-2"
    }
    
    • 选择从实例的专用目录共享的映像。 有关更多信息,请参阅 ibm_is_images 上的 Terraform 文档。
    data "ibm_is_images" "example_images" {
       catalog_managed = true
    }
    

    如果选择属于其他帐户的目录映像,那么需要查看更多注意事项和限制。 请参阅 在 Terraform 中的专用目录中使用跨帐户映像引用

  3. 创建 VPC 资源或通过引用 VPC 数据源来使用现有 VPC。 有关更多信息,请参阅有关数据源 ibm_is_vpc 或资源 ibm_is_vpc 的 Terraform 文档。

    data "ibm_is_vpc" "example_vpc" {
       name = "example-vpc"
    }
    
  4. 创建子网资源或通过引用子网数据源来使用现有子网。 有关更多信息,请参阅有关数据源 ibm_is_subnet 或资源 ibm_is_subnet 的 Terraform 文档。

    data "ibm_is_subnet" "example_subnet" {
       name            = "example-subnet"
       vpc             = ibm_is_vpc.example_vpc.id
       zone            = "us-south-1"
       ipv4_cidr_block = "10.240.0.0/24"
    }
    
  5. 通过引用 ssh-key 数据源 ibm_is_ssh_key 使用现有 ssh-key。 如果没有任何可用的 SSH 密钥,请使用资源 ibm_is_ssh_key 来创建一个 SSH 密钥。

    RSA 和 ED25519 是您可以使用的两种 SSH 密钥。 但是,您不能在 Windows 或 VMware 映像中使用 ED25519 SSH 密钥类型。 只能将 RSA SSH 密钥用于这些映像。 有关更多信息,请参阅 SSH 密钥入门

    resource "ibm_is_ssh_key" "example_sshkey" {
       name       = "example-sshkey"
       public_key = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCKVmnMOlHKcZK8tpt3MP1lqOLAcqcJzhsvJcjscgVERRN7/9484SOBJ3HSKxxNG5JN8owAjy5f9yYwcUg+JaUVuytn5Pv3aeYROHGGg+5G346xaq3DAwX6Y5ykr2fvjObgncQBnuU5KHWCECO/4h8uWuwh/kfniXPVjFToc+gnkqA+3RKpAecZhFXwfalQ9mMuYGFxn+fwn8cYEApsJbsEmb0iJwPiZ5hjFC8wREuiTlhPHDgkBLOiycd20op2nXzDbHfCHInquEe/gYxEitALONxm0swBOwJZwlTDOB7C6y2dzlrtxr1L59m7pCkWI4EtTRLvleehBoj3u7jB4usR"
    }
    

使用 Terraform 创建实例模板的示例

了解这些值后,使用它们编写 ibm_is_instance_template 资源块。 除了收集的信息外,还必须指定实例的名称。


resource "ibm_is_instance_template" "my-template" {
  name    = "my-template"
  image   = ibm_is_image.example_image.id
  profile = "bx2-8x32"

  primary_network_interface {
    subnet            = ibm_is_subnet.example_subnet.id
  }

  vpc                  = ibm_is_vpc.example_vpc.id
  zone                 = "us-south-2"
  keys                 = [ibm_is_ssh_key.example_sshkey.id]

}

有关 ibm_is_instance_template 的更多示例,请参阅 ibm_is_instance_template Terraform 参考。

后续步骤

创建实例模板后,可以供应单个虚拟服务器实例,也可以在实例组中同时供应多个实例。 (可选) 您可以为实例组设置自动缩放策略,以动态添加虚拟服务器实例或从组中除去虚拟服务器实例。 有关更多信息,请参阅以下主题: