# Orphaned Kubernetes resources in GKE | Cloud Efficiency Hub

Canonical: https://www.pointfive.co/efficiency-hub/inefficiencies/orphaned-kubernetes-resources

In GKE environments, it is common for unused Kubernetes resources to accumulate over time.

By: Yonah Dissen

Updated: 2026-09-28

[Cloud Efficiency Hub](https://www.pointfive.co/efficiency-hub) 

# Orphaned Kubernetes Resources in GKE

The short version

In GKE environments, it is common for unused Kubernetes resources to accumulate over time.

Yonah Dissen

GCP service

[GCP GKE](https://www.pointfive.co/efficiency-hub/cloud-services/gcp-gke)

Category

[Compute](https://www.pointfive.co/efficiency-hub/service-category/compute)

Reference

CER-0270

Type

Idle or Unused Resource

## Explanation

Why the waste happens and who it affects.

Examples include Persistent Volume Claims (PVCs) that retain provisioned Persistent Disks, or Services of type LoadBalancer that continue to front GCP external load balancers even after the backing pods are gone. ConfigMaps and Secrets may also linger, creating operational overhead.

These orphaned objects often persist due to gaps in CI/CD teardown logic, manual testing workflows, or drift over time. While some carry negligible cost on their own, others can result in significant charges, especially storage and networking artifacts. This inefficiency applies broadly across Kubernetes platforms and is scoped here to GKE.

## Billing model

The pricing dimensions that drive this cost.

GKE charges a cluster management fee for every cluster ($0.10 per cluster per hour, offset by a monthly free-tier credit equal to one zonal Standard or Autopilot cluster per billing account) and bills for underlying compute resources (e.g., Compute Engine VMs), storage (e.g., Persistent Disks provisioned by PVCs), and network resources like external load balancers created by Services. Orphaned Kubernetes objects - such as Services, PVCs, ConfigMaps, or Secrets-can lead to idle infrastructure costs, especially when they trigger or retain provisioned GCP resources.

## How to detect

6 checks to find it in your estate.

- PVCs & PVs

- List Bound PVCs (\`kubectl get pvc -A\`) and compare them with the claims referenced by pods (\`spec.volumes\[\*\].persistentVolumeClaim.claimName\`); PVCs that no pod references are candidates (PVCs don't support a \`status.phase\` field selector). Map them to GCP PDs via \`gcloud compute disks list --filter="-users:\*"\`

- Services of type LoadBalancer  with  0 endpoints  (\`kubectl get ep -A\`). Cross-check for dangling forwarding rules/IPs.

- ConfigMaps / Secrets  not referenced in any \`Deployment\`, \`StatefulSet\`, \`CronJob\`, or \`Job\` in the last  n  days (check with GKE audit logs in Cloud Audit Logs, or a cleanup tool that scans workload specs for references).

- Unused Namespaces  (dev/test TTL exceeded).

- GCP Recommender APIs  for  idle Persistent Disks  and  unattached external IPs .

## How to fix

5 ways to remove the waste.

- Remove PVCs to deprovision underlying Persistent Disks

- Delete unused Services to avoid charges for external Load Balancers and reserved IPs

- Clean up ConfigMaps and Secrets not in use

- Regularly audit clusters for orphaned resources using policy checks or automation

- Tag PVCs with  owner/team  labels for accountability

## Documentation

Vendor references for pricing and configuration.

- [Google Kubernetes Engine pricing  cloud.google.com](https://cloud.google.com/kubernetes-engine/pricing)

- [GKE persistent volumes & provisioning  docs.cloud.google.com](https://docs.cloud.google.com/kubernetes-engine/docs/concepts/persistent-volumes)

- [About LoadBalancer Services  docs.cloud.google.com](https://docs.cloud.google.com/kubernetes-engine/docs/concepts/service-load-balancer)

- [GKE audit logging information  docs.cloud.google.com](https://docs.cloud.google.com/kubernetes-engine/docs/how-to/audit-logging)

## Related inefficiencies

[Browse the library](https://www.pointfive.co/efficiency-hub)

- GCP GKE  CER-0193

### [Orphaned and Overprovisioned Resources in GKE Clusters](https://www.pointfive.co/efficiency-hub/inefficiencies/orphaned-and-overprovisioned-resources-in-gke-clusters)

As environments scale, GKE clusters tend to accumulate artifacts from ephemeral workloads, dev environments, or incomplete job execution. PVCs can continue to retain Persistent Disks, Services may continue to expose public IPs and...

Compute

- GCP GKE  CER-0562

### [Idle GKE Cluster](https://www.pointfive.co/efficiency-hub/inefficiencies/idle-gke-cluster)

GKE clusters created for testing, demos, proofs of concept, migrations or short-lived projects are often left running after the work ends. Even with no customer workloads, every cluster pays the flat hourly cluster management fee, and a...

Compute

- GCP GKE  CER-0287

### [Spot-Only GKE Capacity Without Standard Fallback](https://www.pointfive.co/efficiency-hub/inefficiencies/spot-only-gke-capacity-without-standard-fallback)

Workloads are constrained to run only on Spot-based capacity with no viable path to standard nodes when Spot capacity is reclaimed or unavailable. While Spot reduces unit cost, rigid dependence can create hidden costs by requiring standby...

Compute

---
Source: the public page above. Product screenshots and illustrative interfaces are examples, not live customer data.

