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) が作成されていることを確認してください。
手順
- 必要なUUIDを収集REST APIは、名前の代わりに画像とサブネットにUUIDを必要とします。
- 画像の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はブートディスクを接続するために使用されます -
- サブネット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に接続するために使用されます。 -
- 画像のUUIDを取得:
- イメージ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
クローン元の画像のUUIDnic_list.subnet_reference.uuid
VM NICのサブネットのUUIDmetadata.kind
VM作成には"vm"
である必要があります - コマンドが完了した後、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>
-
- 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"}'