ビュー:
Nutanix REST API (v3) は自動化されたVMデプロイメントを可能にし、スクリプト、CI/CDパイプライン、または大量のVMプロビジョニングに役立ちます。詳細については、Nutanix KB 6440 – Nutanix REST API v3を使用してVMを作成するおよびNutanix API v3 – Cloud-Initを使用したLinux VMの作成 – Nutanix.devを参照してください。
次のVM構成で対処することをお勧めします。
  • VM名:Nutanix-rest-connector-vm
  • vCPU: 4 (1 ソケット × 4 vCPU)
  • メモリ: 8 GB (8192 MB)
  • ディスク: イメージNutaminx-connector-imageからクローン
  • ディスクバス: IDE
  • ネットワーク: サブネット New-VLAN265 (DHCP)
開始する前に、必要なVMイメージがNutanixイメージサービスに既にアップロードされており、ターゲットネットワークサブネット (VLAN) が作成されていることを確認してください。

手順

  1. 必要なUUIDを収集
    REST APIは、名前の代わりに画像とサブネットにUUIDを必要とします。
    1. 画像のUUIDを取得:
      curl -u "admin:<password>" -k \
        -H "Content-Type: application/json" \
        -X POST https://<cluster-ip>:9440/api/nutanix/v3/images/list \
        -d '{"kind":"image","filter":"name==Nutaminx-connector-image"}'
      
      • 目的: 画像Nutaminx-connector-imageのUUIDを取得します。
      • 出力: 例としてmetadata.uuidを含むJSON
        "metadata": {
            "uuid": "c63ef950-7ba5-4450-bb10-65fdf209c639",
            "name": "Nutaminx-connector-image"
        
      このUUIDはブートディスクを接続するために使用されます
    2. サブネットUUIDを取得します。
      curl -u "admin:<password>" -k \
        -H "Content-Type: application/json" \
        -X POST https://<cluster-ip>:9440/api/nutanix/v3/subnets/list \
        -d '{"kind":"subnet","filter":"name==New-VLAN265"}'
      
      • 目的: サブネットNew-VLAN265のUUIDを取得します。
      • 出力: 例としてmetadata.uuidを含むJSON
        "metadata": {
            "uuid": "06b5de80-6864-4871-b7b8-9e36849fb5a9",
            "name": "New-VLAN265"
        }
        
      このUUIDはNICをVMに接続するために使用されます。
  2. イメージUUIDとサブネットUUIDを使用してVMを作成します。
    curl -u "admin:<password>" -k -H "Content-Type: application/json" \
      -X POST https://<cluster-ip>:9440/api/nutanix/v3/vms \
      -d '{
        "spec": {
          "name": "Nutanix-rest-connector-vm",
          "resources": {
            "num_vcpus_per_socket": 4,
            "num_sockets": 1,
            "memory_size_mib": 8192,
            "disk_list": [
              {
                "device_properties": {
                  "disk_address": {
                    "device_index": 0,
                    "adapter_type": "IDE"
                  }
                },
                "data_source_reference": {
                  "kind": "image",
                  "uuid": "c63ef950-7ba5-4450-bb10-65fdf209c639"
                }
              }
            ],
            "nic_list": [
              {
                "subnet_reference": {
                  "kind": "subnet",
                  "uuid": "06b5de80-6864-4871-b7b8-9e36849fb5a9"
                }
              }
            ]
          }
        },
        "metadata": {
          "kind": "vm"
        }
      }'
    

    主要フィールドの定義

    フィールド
    説明
    name
    VMの名前 (Nutanix-rest-connector-vm)
    num_vcpus_per_socket
    各ソケットのvCPU数
    num_sockets
    CPUソケットの数
    memory_size_mib
    メモリ (MiB) (8192 = 8GB)
    disk_list.device_properties.disk_address.adapter_type
    ディスクのバスタイプ (IDE)
    disk_list.data_source_reference.uuid
    クローン元の画像のUUID
    nic_list.subnet_reference.uuid
    VM NICのサブネットのUUID
    metadata.kind
    VM作成には"vm"である必要があります
  3. コマンドが完了した後、VMの作成を確認してください。
    • Prism UI: Nutanix-rest-connector-vmのためにVMsページを確認してください
    • ACLI:
    acli vm.get
                  Nutanix-rest-connector-vm
    • REST API:
    curl -u
                  "admin:<password>" -k \   -H "Content-Type:
                application/json" \ 
                https://<cluster-ip>:9440/api/nutanix/v3/vms/<VM-UUID>
  4. VM の電源をオンにします。
    curl -u "admin:<password>" -k \
      -H "Content-Type: application/json" \
      -X POST https://<cluster-ip>:9440/api/nutanix/v3/vms/<VM-UUID>/set_power_state \
      -d '{"transition":"ON"}'