关于使用k8s configMap 做项目配置文件

1. 项目构建时 将下面两个文件 合并到一个文件中 

具体命令:"create configmap":"cd ${PROJECT_PATH};sed -i 's/^/ /g' src/main/resources/application.yml;cat k8s-script/stage-pay-template.yaml src/main/resources/application.yml > k8s-script/stage-billing-pay-gyyx-cn.yaml;",

2.  Dockerfile  将 合并好的配置文件放进容器指定的路径下 

COPY k8s-script/stage-billing-pay-gyyx-cn.yaml /data/conf/configmap.yml

3. 部署时部署系统调用shell脚本 -> gitconfig.sh ,脚本如下

domainname=$1
gitrepo=$2
gitbranch=$3
filename=$4
completedockerurl=$5
version=$6
rm -rf /data/$domainname
/usr/bin/git clone $gitrepo /data/$domainname
cd /data/$domainname
/usr/bin/git checkout $gitbranch
docker run --rm $completedockerurl:$version cat /data/conf/configmap.yml > /data/$domainname/$filename.yaml
#wget $gitconfig -O /data/$domainname/$filename
/usr/bin/git add -A
/usr/bin/git commit -m "更新配置文件内容"
/usr/bin/git push origin $gitbranch

实际运行
rm -rf /data/stage-billing/pay   # 删除上一次的旧配置
/usr/bin/git clone http://gitlab.xxxx.cn/configmap/stage-billing-pay.gyyx.cn.git /data/stage-billing/pay #从系统部gitlab 拉取 上一次更新的配置文件
cd /data/stage-billing/pay
/usr/bin/git checkout master # 切换到主分支
docker run --rm repo.gydev.cn:8082/stage-billing/pay:2.0.0 cat /data/conf/configmap.yml > /data/stage-billing/pay/stage-billing-pay.gyyx.cn.yaml #从容器中将本次需要更新的配置文件复制出来,覆盖到 git 拉取的配置文件中
/usr/bin/git add -A
/usr/bin/git commit -m "更新配置文件内容" # 提交并push
/usr/bin/git push origin master

最后再通过部署系统 调用系统部jenkins ,使得生产环境配置生效
 

posted on 2022-04-21 19:01  songzhiwei613  阅读(238)  评论(0编辑  收藏  举报

导航