Navigation Menu

Skip to content

Instantly share code, notes, and snippets.

@cig0
Forked from negz/kubedump.sh
Created December 9, 2020 13:04
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save cig0/d82ba06793c67787958ae01c21e4ec12 to your computer and use it in GitHub Desktop.
Save cig0/d82ba06793c67787958ae01c21e4ec12 to your computer and use it in GitHub Desktop.
Dump Kubernetes cluster resources as YAML
#!/usr/bin/env bash
set -e
CONTEXT="$1"
if [[ -z ${CONTEXT} ]]; then
echo "Usage: $0 KUBE-CONTEXT"
exit 1
fi
NAMESPACES=$(kubectl --context ${CONTEXT} get -o json namespaces|jq '.items[].metadata.name'|sed "s/\"//g")
RESOURCES="configmap secret daemonset deployment service hpa"
for ns in ${NAMESPACES};do
for resource in ${RESOURCES};do
rsrcs=$(kubectl --context ${CONTEXT} -n ${ns} get -o json ${resource}|jq '.items[].metadata.name'|sed "s/\"//g")
for r in ${rsrcs};do
dir="${CONTEXT}/${ns}/${resource}"
mkdir -p "${dir}"
kubectl --context ${CONTEXT} -n ${ns} get -o yaml ${resource} ${r} > "${dir}/${r}.yaml"
done
done
done
@cig0
Copy link
Author

cig0 commented Jun 13, 2022

It might be worth adding statefulset to the resources list

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment