Skip to content

Instantly share code, notes, and snippets.

@manabusakai
Created December 21, 2018 07:33
Show Gist options
  • Save manabusakai/1b5995f7c0a9a13d49b72fb81cdf21a8 to your computer and use it in GitHub Desktop.
Save manabusakai/1b5995f7c0a9a13d49b72fb81cdf21a8 to your computer and use it in GitHub Desktop.
#!/bin/bash
usage() {
echo "Usage: $(basename $0) -n NAMESPACE -d DEPLOYMENT" 1>&2
exit 1
}
while getopts n:d: opt
do
case $opt in
n)
namespace=$OPTARG
;;
d)
deployment=$OPTARG
;;
*)
usage
;;
esac
done
if [ ! $namespace ] || [ ! $deployment ]; then
usage
fi
k() {
kubectl --namespace $namespace "$@"
}
k rollout history deployment/$deployment
current_revision=$(k get deployment/$deployment -o=jsonpath='{.metadata.annotations.deployment\.kubernetes\.io/revision}')
previous_revision=$(expr $current_revision - 1)
echo -e "Previous revision:\t$previous_revision"
echo -e "Current revision:\t$current_revision"
echo
k rollout history deployment/$deployment --revision=$previous_revision
read -p 'Are you okay? Hit enter: '
k rollout undo deployment/$deployment
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment