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
-
虛擬中央處理器 (vCPUs): 4 (1 插槽 × 4 虛擬中央處理器)
-
記憶體: 8 GB (8192 MB)
-
磁碟: 從映像檔
Nutaminx-connector-image
複製 -
磁碟匯流排:IDE
-
網路: 子網路
New-VLAN265
(DHCP)
在開始之前,請確保所需的 VM 映像已上傳至 Nutanix 映像服務,並且目標網路子網路 (VLAN) 已經建立。
步驟
- 收集所需的 UUIDsREST 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 建立虛擬機:
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" } }'
關鍵欄位的定義
欄位說明名稱
VM 名稱 (Nutanix-rest-connector-vm
)num_vcpus_per_socket
每個插槽中的虛擬CPU數量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網路介面卡的子網路UUIDmetadata.kind
必須為"vm"
以進行 VM 建立 - 在命令完成後驗證虛擬機的建立:
-
Prism UI:檢查
Nutanix-rest-connector-vm
的虛擬機頁面 -
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>
-
- 開啟虛擬機的電源:
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"}'