kubectl create job xxx --from=cronjob/yyy を手軽に実行出来るようにするシェル


要 peco

#!/bin/sh

K8S_CONTEXT=`kubectl config get-contexts -o name | peco`
CRONJOB_NAME=`kubectl get cronjob --context=${K8S_CONTEXT} | peco | awk '{print $1}'`

TIMESTAMP=`date +%Y%m%d%H%M`
JOB_NAME="${CRONJOB_NAME}-from-cronjob-${TIMESTAMP}"

echo "Creating Job from CronJob"
echo ""
echo "Context: ${K8S_CONTEXT}"
echo "Job: ${JOB_NAME}"
echo "From CronJob: ${CRONJOB_NAME}"
echo ""
echo "Are you ready? [y/N]"

read ANSWER

case $ANSWER in
    "y" | "Y" | "yes" | "Yes" | "YES")
        kubectl create job $JOB_NAME --from=cronjob/${CRONJOB_NAME} --context=${K8S_CONTEXT}
        ;;
    *)
        echo "It's not create. exit."
        ;;
esac