Loading...
Loading...
Monitors, troubleshoots, and manages GKE TPU Dynamic Slices custom resources. Use when checking TPU slice lifecycle states, troubleshooting slice provisioning failures, validating single-slice or multi-slice (JobSet) workload manifests, or safely patching stuck finalizers and disabling the slice controller. Don't use for generic GKE cluster node pool creation or standard non-TPU workload management (use gke-basics or gke-cluster-creation instead).
npx skill4agent add google/skills gke-ai-troubleshooting-tpu-dynamic-slices-monitoringkubectlgcloud{project_id}my-gcp-project{cluster_name}tpu-cluster{location}us-central1-a{slice_name}test-slice{timestamp}[T - 30m][T + 30m]kubectl describe slice {slice_name}Status.Conditionskubectl describe slice {slice_name}Status.ConditionsType: ReadyReasonStatus| Lifecycle State / Reason | Meaning | Recommended Action |
|---|---|---|
| GKE Slice Controller is initializing the slice and performing resource checks. | Wait a few minutes and re-check slice status. |
| Prerequisites validation failed (e.g., selected nodes don't exist, nodes are already used by another slice, or the topology doesn't match the number of partitions). | Verify selected nodes exist, are unallocated, and topology matches partition count. |
| GKE is actively forming and provisioning the TPU slice. | Monitor node provisioning. |
| The TPU slice is successfully formed and ready to host workloads. | Proceed to deploy or check workloads. |
| The slice is usable, but one or more sub-blocks are degraded. | Monitor workload logs for interconnect or device errors. Check faulty node VMs. |
| GKE failed to form the TPU slice (e.g., selected nodes are not part of the same reservation block). | Ensure all selected nodes belong to the same reservation block. |
| The slice is dismantling (triggered by user deletion or a critical systemic failure). | Wait for dismantling to finish, or patch finalizers if stuck. |
| The terminal phase before the Slice CR is deleted from the cluster. | No action required; the resource will be removed shortly. |
SliceCreationFailedFAILEDkubectl get nodes -l cloud.google.com/gke-tpu-slicekubectl get slice -A2x2cloud.google.com/gke-tpu-slice-topology: "{topology}""4x4x4"cloud.google.com/gke-tpu-topology: "{topology}""4x4x4"cloud.google.com/gke-tpu-accelerator: "{accelerator_type}""tpu7x"cloud.google.com/gke-tpu-slice: "{slice_name}""test-slice"alpha.jobset.sigs.k8s.io/exclusive-topology: cloud.google.com/gke-tpu-slicecloud.google.com/gke-tpu-slice-topology: "{topology}"cloud.google.com/gke-tpu-topology: "{topology}"cloud.google.com/gke-tpu-accelerator: "{accelerator_type}"cloud.google.com/gke-tpu-sliceDEACTIVATINGmetadata.finalizers/metadata/finalizerskubectl patch slice {slice_name} --type json -p='[{"op": "remove", "path": "/metadata/finalizers"}]'/metadata/finalizers{slice_name}kubectl get slice -Agcloud container clusters update {cluster_name} \
--location={location} \
--no-enable-slice-controllerkubectl delete crd slices.accelerator.gke.iokubectl label nodes --all cloud.google.com/gke-tpu-slice- cloud.google.com/gke-tpu-slice-topology-