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.
To create a disk for your VM, save the following
VirtualMachineDiskmanifest asDISK_NAME.yaml:apiVersion: virtualmachine.gdc.goog/v1 kind: VirtualMachineDisk metadata: name: DISK_NAME spec: source: image: name: VM_IMAGE namespace: vm-system size: 20GiCreate the disk:
kubectl apply -f DISK_NAME.yamlTo create the high-performance VM, save the following
VirtualMachinemanifest asVM_NAME.yaml. Note the inclusion of thevirtualmachine.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: falseCreate the VM:
kubectl apply -f VM_NAME.yaml
What's next
- Review GDC-supported images
- Create and start a VM instance that uses your image.
- Create a boot disk for your VM.