Skip to content
Operations
Skill

/k8s-clean-cluster

Force-clean all Kurtosis resources from a Kubernetes cluster when kurtosis clean hangs or fails. Removes all kurtosis namespaces, pods, daemonsets, cluster roles, and cluster role bindings. Use when kurtosis clean -a hangs or leaves behind orphaned resources.

BOOST
From plugin
kurtosis
55722 skills
Install
$ npx -y skills add kurtosis-tech/kurtosis --skill k8s-clean-cluster --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/k8s-clean-cluster

Context preview

The summary Claude sees to decide when to auto-load this skill.

Force-clean all Kurtosis resources from a Kubernetes cluster when kurtosis clean hangs or fails. Removes all kurtosis namespaces, pods, daemonsets, cluster roles, and cluster role bindings. Use when kurtosis clean -a hangs or leaves behind orphaned resources.

SKILL.md

k8s-clean-cluster.SKILL.md
name: k8s-clean-cluster
description: Force-clean all Kurtosis resources from a Kubernetes cluster when kurtosis clean hangs or fails. Removes all kurtosis namespaces, pods, daemonsets, cluster roles, and cluster role bindings. Use when kurtosis clean -a hangs or leaves behind orphaned resources.
compatibility: Requires kubectl with cluster access.
metadata:
  author: ethpandaops
  version: "1.0"

K8s Clean Cluster

Force-clean all Kurtosis resources from a Kubernetes cluster when the normal `kurtosis clean -a` command hangs or fails.

When to use

  • `kurtosis clean -a` hangs for more than a few minutes
  • Orphaned kurtosis namespaces remain after a failed clean
  • `remove-dir-pod-*` pods are stuck in Pending state
  • Engine start fails because old resources exist

Steps

1. Kill any running kurtosis processes

pkill -f "kurtosis gateway" 2>/dev/null
pkill -f "kurtosis clean" 2>/dev/null

2. Stop the engine gracefully (if possible)

kurtosis engine stop || true

3. Delete all kurtosis namespaces

# List them first
kubectl get ns | grep kurtosis

# Delete all kurtosis namespaces (engine, enclaves, logs)
kubectl get ns | grep kurtosis | awk '{print $1}' | xargs -r kubectl delete ns --force --grace-period=0

4. Clean up cluster-scoped resources

# Delete kurtosis cluster roles
kubectl get clusterrole | grep kurtosis | awk '{print $1}' | xargs -r kubectl delete clusterrole

# Delete kurtosis cluster role bindings
kubectl get clusterrolebinding | grep kurtosis | awk '{print $1}' | xargs -r kubectl delete clusterrolebinding

5. Clean up stuck pods

# Force-delete any remaining kurtosis pods
kubectl get pods -A | grep kurtosis | awk '{print $2 " -n " $1}' | xargs -L1 kubectl delete pod --force --grace-period=0

# Clean up evicted pods
kubectl get pods -A | grep Evicted | awk '{print $2 " -n " $1}' | xargs -L1 kubectl delete pod --force --grace-period=0

6. Verify clean state

kubectl get ns | grep kurtosis
kubectl get pods -A | grep kurtosis
kubectl get ds -A | grep kurtosis

All three commands should return empty results.

7. Restart

kurtosis engine start
kurtosis gateway &

Why clean hangs

The most common cause is the fluentbit logs collector `Clean` method which: 1. Evicts all DaemonSet pods by adding a non-existent node selector 2. Waits for each pod to terminate (up to 5 min per pod, sequentially) 3. Creates `remove-dir-pod` cleanup pods targeted at each node 4. Cleanup pods on tainted/unhealthy nodes get stuck in Pending

The fix in the codebase makes these operations best-effort with timeouts and detects unschedulable pods early, but if running an unfixed version, manual cleanup is needed.

Read more
Ships withkurtosis

A platform for packaging and launching blockchain infra. Think docker compose for blockchain

Get the whole plugin
Stats
557
Stars
100
Forks
Active
Maintenance
Go
Language
Apache-2.0
License
9h ago
Last commit
3y ago
Created
4h ago
Added

Repo: kurtosis-tech/kurtosis

Other skills on kurtosis.