kubeasz/tools/trans_yml.sh

73 lines
1.6 KiB
Bash
Raw Normal View History

2018-05-07 09:50:11 +08:00
#!/bin/bash
2018-05-07 23:23:28 +08:00
# WARNNING: 此脚本还在修改中,还未完成
# 说明不同k8s版本使用的'api-versions'版本不同此脚本用于切换yaml文件使用的'api-versions'
# Example 01: 转换单个配置文件为k8s 1.8的版本
# bash tools/trans_yml.sh -v 1.8 -f manifests/dashboard/kubernetes-dashboard.yaml
# Example 02: 转换某个目录下所有yaml文件为k8s 1.8的版本
# for YML in `find manifests/heapster/ -name '*.yaml'`;do bash tools/trans_yml.sh -v 1.8 -f $YML;done;
2018-05-07 09:50:11 +08:00
#set -x
show_usage()
{
echo -e "\nUsage: $0 <-v K8S_VER> <-f YAML_FILE>"
echo -e "\nK8S_VER: support 1.8/1.9/1.10"
}
#check_arg -------------------------------------------------
K8S_VER=""
YML_FILE=""
while getopts "v:f:" arg
do
case $arg in
v)
K8S_VER=$OPTARG
;;
f)
if [ -w "$OPTARG" ];then
YML_FILE=$OPTARG
else
echo File:"$OPTARG not found or not writeable."
exit 1
fi
;;
?)
echo -e "unkown argument"
show_usage
exit 1
;;
esac
done
if [ "$K8S_VER" = "" ] || [ "$YML_FILE" = "" ];then
echo "error argument"
show_usage
exit 1
fi
main()
{
case "$K8S_VER" in
1.8)
sed -i 's/apps\/v1/extensions\/v1beta1/g' $YML_FILE
exit 0
;;
1.9)
echo "K8s_VER is $K8S_VER"
exit 0
;;
1.10)
sed -i 's/extensions\/v1beta1/apps\/v1/g' $YML_FILE
exit 0
;;
?)
;;
esac
echo "not supported K8s_VER:$K8S_VER"
exit 1
}
main