Library
REF 11 Cheat Sheet · Reference

machine_type sizing matrix

VM sizing strings for virtualmachines:. Prefer machine_type: over memory:+cpus: — canonical sizing knob across most workshop-image families and partner-published custom images.

e2-* Cheap, general

Cost-optimized burstable. Default choice for small workstations and light services.

e2-micro e2-small e2-standard-2 / -4 / -8 / -16 e2-highcpu-16
Use for: single-VM demo tracks, lightweight workstations, anything that doesn't sustain CPU pressure. Avoid for: Kubernetes control planes, builds, anything compiling.
n1-* Legacy general

Older general-purpose family. Still valid; n2-* is preferred for new tracks.

n1-standard-1 / -2 / -4 / -8 n1-highcpu-8 / -16 n1-highmem-8
Use for: tracks that must match an existing image baseline. Kubernetes pre-baked images often target n1 by historical convention.
n2-* Modern general

Modern general-purpose. Better price/performance than n1. Preferred default.

n2-standard-2 / -4 / -8 / -16 n2-highcpu-2 / -32 n2-highmem-16
Use for: most multi-VM tracks, AI/LLM stacks (n2-highcpu-32 for in-VM Ollama), default for new builds.
n2d-* AMD, nested-virt

AMD EPYC. Strong nested-virtualization performance — preferred for Kubernetes-in-VM patterns.

n2d-standard-8 n2d-highcpu-32
Use for: OpenShift Local (CRC) inside a VM, kubeadm-on-VM patterns. Pair with nested_virtualization: true.
c2-* Compute-optimized

High-clock CPU. Use only when single-thread performance matters more than core count.

c2-standard-8
Use for: CPU-bound benchmarks, latency-sensitive workloads. Avoid for: general training labs — usually overspend.
t2a-* Arm64

Arm64 (Ampere Altra). The only Arm option in this matrix; pair with Arm-built images.

t2a-standard-1
Use for: Arm64 workshops, mobile/embedded AI tracks targeting Android NDK or LiteRT compilation. Image must be Arm-built.
f1 / g1 Tiny / legacy

Shared-core micro instances. Cheapest options; CPU-throttled under sustained load.

f1-micro g1-small
Use for: ultra-light single-purpose VMs (DNS responder, throwaway helper). Some vendor patterns still size at g1-small.
memory + cpus Fallback

Explicit numeric sizing. Use only when you need a non-standard ratio or matching legacy.

memory: 4096 cpus: 2
Avoid for new builds. machine_type: is the convention. Mixing the two on the same VM is invalid.
Sizing rules of thumb