gke-ai-troubleshooting-tpu-dynamic-slices-monitoring

Diagnoses and manages GKE TPU Dynamic Slices custom resources and workload manifests.

19.1k|1.5k|Updated Mar 31, 2026
One-click install
npx skills add https://github.com/google/skills --skill gke-ai-troubleshooting-tpu-dynamic-slices-monitoring
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: gke-ai-troubleshooting-tpu-dynamic-slices-monitoring
Source: https://github.com/google/skills/tree/main/skills/cloud/gke-ai-troubleshooting-tpu-dynamic-slices-monitoring
Command: npx skills add https://github.com/google/skills --skill gke-ai-troubleshooting-tpu-dynamic-slices-monitoring

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) and references (resource) components.

What problem does it solve?

TPU Dynamic Slices on GKE can fail to provision, get stuck during deletion, or reject workloads due to misconfigured manifests, and diagnosing these issues requires deep knowledge of slice lifecycle states and controller behavior.

Core Features & Use Cases

  • Slice Status Diagnosis: Parses kubectl describe slice output and maps Status.Conditions reasons like SliceCreationFailed, ACTIVE_DEGRADED, and FAILED to concrete remediation steps.
  • Workload Manifest Validation: Verifies single-slice Pod annotations/nodeSelectors and multi-slice JobSet configurations against required TPU topology and accelerator labels.
  • Guided Recovery Operations: Provides safety-gated procedures for removing stuck finalizers and disabling the slice controller with mandatory user confirmation.
  • Use Case: A platform engineer sees a TPU slice stuck in DEACTIVATING for 20 minutes; the Skill identifies the stuck finalizer, warns about orphaned resources, and requests confirmation before applying the JSON patch.

Quick Start

Ask the agent to check the status of TPU slice 'test-slice' in cluster 'tpu-cluster' and explain why it failed to provision.

Frequently Asked Questions about gke-ai-troubleshooting-tpu-dynamic-slices-monitoring

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I troubleshoot a GKE TPU slice that failed to provision?

Run kubectl describe slice on the slice name and inspect Status.Conditions. A SliceCreationFailed reason means prerequisite validation failed, such as missing nodes or topology mismatch, while FAILED indicates nodes are not in the same reservation block.

How do I fix a GKE TPU slice stuck in DEACTIVATING state?

A slice stuck in DEACTIVATING usually has a finalizer blocking deletion. You can remove it with a JSON patch on /metadata/finalizers, but this bypasses controller cleanup and may orphan VM or network resources, so confirm before applying.

What annotations are required for TPU dynamic slice workloads on GKE?

Single-slice Pods need the cloud.google.com/gke-tpu-slice-topology annotation plus nodeSelectors for gke-tpu-topology, gke-tpu-accelerator, and gke-tpu-slice. Multi-slice JobSets use the alpha.jobset.sigs.k8s.io/exclusive-topology annotation instead of a manual slice selector.

When should I not use this TPU slice troubleshooting skill?

Do not use it for generic GKE node pool creation or standard non-TPU workload management. Those scenarios are covered by general GKE cluster creation and basics skills instead.

How do I disable the GKE TPU slice controller safely?

First verify no slices remain with kubectl get slice -A, then run gcloud container clusters update with --no-enable-slice-controller, delete the slices.accelerator.gke.io CRD, and remove TPU slice labels from all nodes.