k8s运行的deploy和svc转成docker的运行文件

基础脚本

在生产环境上需要转换为docker方式运行,先建立deploy目录并将deployment运行的yaml文件导出到该目录,同样建立svc目录并到导出svc运行的yaml文件。然后执行脚本./k8s-TR-docker.sh deploy/gd-gateway.yaml
在这里插入图片描述

#!/bin/bash
#filename k8s-TR-docker.sh
curdir=$(cd $(dirname $0);pwd)
pname=${1:-"deploy/gd-gateway.yaml"}
sname=${pname##*/}
dockerName=$(grep name: ${curdir}/deploy/${sname}  | awk -F ':' 'NR==1{print $2}')
echo -e "#!/bin/bash"
echo -e "#${dockerName}"
printf " docker run --restart=always -p "
sed -n '/nodePort:/,/port:/ p' ${curdir}/svc/${sname} | tr -d "\n " | sed 's/nodePort://g;s/port//g'
printf " "
sed -n '/ env:/,/image:/ p' ${curdir}/deploy/${sname} | grep -v 'env\|image' |  sed "s/- name:/-e/g;s/^ *//g" | tr "\n" " " | sed "s/ value: /=/g"
printf " --name${dockerName} -itd "
awk -F ': ' '/image:/{print $2}' ${curdir}/deploy/${sname}

以上对yaml文件提取主要片段在第一个printf之后

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐