Ansichten:
Die Nutanix REST API (v3) ermöglicht automatisierte VM-Bereitstellungen, was nützlich für Skripterstellung, CI/CD-Pipelines oder Massenbereitstellung von VMs ist. Für weitere Informationen siehe Nutanix KB 6440 – Erstellen einer VM mit Nutanix REST API v3 und Nutanix API v3 – Erstellen einer Linux-VM mit Cloud-Init – Nutanix.dev.
Trend Micro empfiehlt die folgende VM-Konfiguration:
  • VM-Name:Nutanix-rest-connector-vm
  • vCPUs: 4 (1 Sockel × 4 vCPUs)
  • Speicher: 8 GB (8192 MB)
  • Festplatte: Von Image Nutaminx-connector-image geklont
  • Festplattenbus: IDE
  • Netzwerk: Subnetz New-VLAN265 (DHCP)
Bevor Sie beginnen, stellen Sie sicher, dass das erforderliche VM-Image bereits im Nutanix Image Service hochgeladen wurde und dass das Zielnetzwerk-Subnetz (VLAN) erstellt wurde.

Prozedur

  1. Erforderliche UUIDs sammeln
    Die REST-API erfordert UUIDs für Bilder und Subnetze anstelle von Namen.
    1. Holen Sie sich die Bild-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"}'
      
      • Zweck: Abrufen der UUID des Bildes Nutaminx-connector-image.
      • Ausgabe: JSON einschließlich metadata.uuid, zum Beispiel
        "metadata": {
            "uuid": "c63ef950-7ba5-4450-bb10-65fdf209c639",
            "name": "Nutaminx-connector-image"
        
      Diese UUID wird verwendet, um das Startlaufwerk anzuhängen
    2. Holen Sie die Subnetz-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"}'
      
      • Zweck: Abrufen der UUID des Subnetzes New-VLAN265.
      • Ausgabe: JSON einschließlich metadata.uuid, zum Beispiel
        "metadata": {
            "uuid": "06b5de80-6864-4871-b7b8-9e36849fb5a9",
            "name": "New-VLAN265"
        }
        
      Diese UUID wird verwendet, um die NIC an die VM anzuhängen.
  2. Erstellen Sie die VM mit der Image-UUID und der Subnetz-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"
        }
      }'
    

    Definition der Schlüsselfelder

    Feld
    Beschreibung
    name
    Name der VM (Nutanix-rest-connector-vm)
    num_vcpus_per_socket
    Anzahl der vCPUs in jedem Socket
    num_sockets
    Anzahl der CPU-Sockel
    memory_size_mib
    Speicher in MiB (8192 = 8GB)
    disk_list.device_properties.disk_address.adapter_type
    Bustyp für die Festplatte (IDE)
    disk_list.data_source_reference.uuid
    UUID des Bildes, von dem geklont werden soll
    nic_list.subnet_reference.uuid
    UUID des Subnetzes für die VM-NIC
    metadata.kind
    Muss "vm" für die VM-Erstellung sein
  3. Überprüfen Sie die VM-Erstellung, nachdem der Befehl abgeschlossen ist:
    • Prism UI: Überprüfen Sie die VMs-Seite für 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>
  4. VM einschalten:
    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"}'