k8s运行的deploy和svc转成docker的运行文件
k8s运行的deploy和svc转成docker的运行文件基础脚本基础脚本在生产环境上需要转换为docker方式运行,先建立deploy目录并将deployment运行的yaml文件导出到该目录,同样建立svc目录并到导出svc运行的yaml文件。然后执行脚本./k8s-TR-docker.sh deploy/gd-gateway.yaml#!/bin/bash#filename k8s-TR-d
·
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之后
更多推荐
已为社区贡献1条内容
所有评论(0)