I found several issues preventing Karpenter from correctly scheduling spot instances on GCP:
- Zone Mismatch: The provider compares short zone names (e.g.,
europe-west3-a) against full GCE resource paths (e.g., projects/.../zones/europe-west3-a) returned by the AggregatedList API. This causes all offerings to be marked as unavailable.
- Spot Price Fallback: When the external pricing CSV is unreachable, no spot offerings are generated. Adding a fallback to on-demand price with a discount ensures resilience.
- Ubuntu Image Regex: The current regex for GKE Ubuntu images doesn't match images like
ubuntu-gke-2404-1-33-amd64-v..., preventing image discovery for certain GKE versions.