kubernetes+Azure DevOps实现.Net Core项目的自动化部署&均衡负载 (2)

移除没有tag的悬挂docker image,纯粹为了节省服务器空间,为可选项

#!/bin/bash # 出现错误退出脚本执行 set -o errexit # $1 and $2 代表外部传入的参数 # $1是image的tag,$2是k8s的master服务器上我们自定义的chart的目录 buildNumber=$1 serverChartLocation=$2 cd $serverChartLocation # 安装或者升级我们的helm release # 即如果查询到了有release存在就upgrade,没有则install if test -z "$(helm ls | grep toc-release)"; then helm install -f values.yaml --set env.buildnumber=$buildNumber --set image.tag=$buildNumber toc-release . else helm upgrade -f values.yaml --set env.buildnumber=$buildNumber --set image.tag=$buildNumber toc-release . fi # 移除没有tag的悬挂docker image(可选) danglings=$(sudo docker images -f "dangling=true" -q) if test -n "$danglings"; then sudo docker rmi $(sudo docker images -f "dangling=true" -q) >>/dev/null 2>&1 if [[ $? != 0 ]]; then exit $? fi fi exit 0 4. 触发pipeline部署流水线

这里有两种办法,

点击我们刚刚创建的pipeline手动run一个

通过push代码到仓库的指定分支(我们设置的master)触发构建

kubernetes+Azure DevOps实现.Net Core项目的自动化部署&均衡负载

显示构建成功之后就可以查看了!

5. 关于均衡负载

均衡负载是kubernetes自带的基础功能之一,这里只是做了一个试验可以更加直观地感受到而已

如下

定义一个静态的guid

kubernetes+Azure DevOps实现.Net Core项目的自动化部署&均衡负载

在/version 路由下输出guid

kubernetes+Azure DevOps实现.Net Core项目的自动化部署&均衡负载

则如果有2个实例,且均衡负载成功的话,每次刷新这个界面,会随机显示这两个guid

deployment的replicas实例数需要设置2以上

kubernetes+Azure DevOps实现.Net Core项目的自动化部署&均衡负载

最后均衡负载试验的地址,也是本次实例项目的线上地址

https://toc.codepie.fun/version

如下,会出现两个不同的guid

kubernetes+Azure DevOps实现.Net Core项目的自动化部署&均衡负载

kubernetes+Azure DevOps实现.Net Core项目的自动化部署&均衡负载

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpgzsp.html