For memory-intensive workloads that require performance optimizations, you can create a virtual machine (VM) with an N4 shape. These VMs use compute and virtualization optimizations to meet performance requirements.
This page 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.
Required permissions
To get the permissions you need to create a high performance VM, ask your Project
IAM Admin to grant you
the Project VirtualMachine Admin (project-vm-admin) role in the namespace of
the project where the VM resides. For more information on roles, see
Role definitions.
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