#!/bin/bash #This script clear any namespaces that are stuck in the Terminating state mapfile -t namespaces < <( kubectl get namespace | grep Terminating | awk '{print $1}' ) if [ "${#namespaces[@]}" == "0" ]; then echo "No Terminating namespaces found" else echo "Clearing namespaces that are in Terminating state ..." for namespace in "${namespaces[@]}" do echo "Clearing namespace $namespace ..." kubectl get namespace "$namespace" -o json > "$namespace.json" tmpfile=$(mktemp) echo $(jq '.spec.finalizers |= []' "$namespace.json") | jq '.' > "$tmpfile" cp "$tmpfile" "$namespace.json" rm $tmpfile curl -k -H "Content-Type: application/json" -X PUT --data-binary @$namespace.json http://127.0.0.1:8001/api/v1/namespaces/$namespace/finalize rm "$namespace.json" done fi