Create a high-performance VM

This document explains how to create high-performance virtual machines (VMs) in Google Distributed Cloud (GDC) air-gapped for memory-intensive workloads.

This type of VM uses an N4 machine shape and is ideal for applications that require consistent throughput and low-latency, such as large scale databases and real-time data analytics. For more information on how shapes optimize compute and virtualization, see Virtual Machine Types.

This document is for platform administrators within platform administrator groups responsible for creating virtual machines. For more information, see Audiences for GDC air-gapped documentation.

Before you begin

Open a ticket to request that the Infrastructure Operator provisions the necessary o3-highmem1-192-gdc-metal servers and enables HPC optimizations. When the ticket is resolved, you can create a high performance VM.

Request IAM roles

Contact your Project IAM Admin to request the following roles on your project:

  • Project VirtualMachine Admin (project-vm-admin): create, modify, list, and delete standard and high-performance VMs in the project namespace.

All VM roles must bind to the namespace of the project where the VM resides. Follow the steps to verify your access.

Create a high performance VM

To enable high performance computing (HPC) on a VM, you add the virtualmachine.gdc.goog/enable-high-perf: "true" label to the VirtualMachine manifest. When this label is applied, taints and labels are automatically added to the VM to ensure it runs on dedicated, optimized nodes.

  1. To create a disk for your VM, save the following VirtualMachineDisk manifest as DISK_NAME.yaml:

    apiVersion: virtualmachine.gdc.goog/v1
    kind: VirtualMachineDisk
    metadata:
      name: DISK_NAME
    spec:
      source:
        image:
          name: VM_IMAGE
          namespace: vm-system
      size: 20Gi
    
  2. Create the disk:

    kubectl apply -f DISK_NAME.yaml
    
  3. To create the high-performance VM, save the following VirtualMachine manifest as VM_NAME.yaml. Note the inclusion of the virtualmachine.gdc.goog/enable-high-perf: "true" label.

    apiVersion: virtualmachine.gdc.goog/v1
    kind: VirtualMachine
    metadata:
      name: VM_NAME
      labels:
        virtualmachine.gdc.goog/enable-high-perf: "true"
    spec:
      compute:
        virtualMachineType: VM_TYPE
      disks:
      - virtualMachineDiskRef:
          name: DISK_NAME
        boot: true
        autoDelete: true
      shieldConfig:
        bootType: uefi
        enableSecureBoot: true
        enableVtpm: false
    
  4. Create the VM:

    kubectl apply -f VM_NAME.yaml
    

What's next