Skip to content

n2-custom Instance Types Not Discovered by Karpenter GCP Provider #144

@manjunath-ciq

Description

@manjunath-ciq

GitHub Issue: n2-custom Instance Types Not Discovered by Karpenter GCP Provider

What happened:

Karpenter GCP provider fails to discover n2-custom instance types, specifically n2-custom-8-24576, even though these instance types are:
✅ Available and running successfully in the cluster (8 nodes currently running n2-custom-8-24576)
✅ Located in the same zone (europe-west1-b) where Karpenter is configured
✅ Working with GKE's native autoscaler
❌ Not discovered by Karpenter's instance type discovery

Error logs:
{"level":"INFO","time":"2025-10-23T08:52:39.549Z","logger":"controller","message":"skipping, nodepool requirements filtered out all instance types","commit":"ab4fd3d","controller":"provisioner","namespace":"","name":"","reconcileID":"4ab7a186-bd2d-400c-b1b2-80ed4df090fc","NodePool":{"name":"custom-nodepool"}}

What you expected to happen:

  • Karpenter should be able to discover and provision n2-custom-8-24576 instance types since they are:

  • Available in the target zone (europe-west1-b)

  • Successfully running in the cluster

  • Compatible with the cluster configuration

How to reproduce it (as minimally and precisely as possible):

  • Create a GKE cluster with existing n2-custom-8-24576 nodes in europe-west1-b zone
  • Install Karpenter GCP provider using the official chart
  • Create a NodePool with the following configuration:
    apiVersion: karpenter.sh/v1 kind: NodePool metadata: name: custom-nodepool spec: weight: 10 template: spec: nodeClassRef: name: default-example kind: GCENodeClass group: karpenter.k8s.gcp requirements: - key: "karpenter.sh/capacity-type" operator: In values: ["on-demand", "spot"] - key: "karpenter.k8s.gcp/instance-family" operator: In values: ["n2-custom"] - key: "node.kubernetes.io/instance-type" operator: In values: ["n2-custom-8-24576"] - key: "kubernetes.io/arch" operator: In values: ["amd64"] - key: "topology.kubernetes.io/zone" operator: In values: ["europe-west1-b"] taints: - key: spot-standard value: "true" effect: NoSchedule

Deploy a test workload that requires node provisioning
Observe that Karpenter logs show "skipping, nodepool requirements filtered out all instance types"
Anything else we need to know?:
Working Alternative: Karpenter successfully provisions n1-standard-4 instances in the same zone
Instance Type Discovery: Karpenter discovered 422 instance types but n2-custom family is not included
GKE Compatibility: n2-custom-8-24576 works perfectly with GKE's native autoscaler
Zone Confirmation: All existing n2-custom-8-24576 nodes are in europe-west1-b zone
Environment:
Karpenter-provider-gcp version: v0.0.1 (image: public.ecr.aws/cloudpilotai/gcp/karpenter:v0.0.1)
GKE version: v1.33.5-gke.1080000
Cluster: dsa-browser-farm-1-dev
Zone: europe-west1-b
Project: dsa-acq-gke-dev
Karpenter Namespace: karpenter-system
NodePool Status: Shows NoCompatibleInstanceTypes warning

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requesthelp wantedExtra attention is needed

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions