helm 发布更新 案例(一)
#原理
1.从chart模版库拉取服务chart模版文件
2.更新chart模版对应内容,默认使用values.yaml参数
3.更新服务
#发布命令
ssh ${USERNAME}@${MASTER_IP} "rm -rf helm-chart/$SERVICE_NAME && helm repo update meta-cm && helm pull meta-cm/$SERVICE_NAME --untar --untardir helm-chart && helm upgrade -i $SERVICE_NAME meta-cm/$SERVICE_NAME -f helm-chart/$SERVICE_NAME/values-$IMAGE_DIR.yaml --set controller.image.tag=$APP_VERSION.$BUILD_NUMBER -n metaverse"步骤一:#删除旧服务信息,更新仓库列表
rm -rf helm-chart/$SERVICE_NAME && helm repo update meta-cm
步骤二:下载helm模版库(库镜像及UI,chartmuseumui:0.0.1,ghcr.io/helm/chartmuseum:v0.15.0)
helm pull meta-cm/$SERVICE_NAME --untar --untardir helm-chart
步骤三:#更新服务,SERVICE_NAME来源于 source meta.cicd.properties
helm upgrade -i $SERVICE_NAME meta-cm/$SERVICE_NAME -f helm-chart/$SERVICE_NAME/values-$IMAGE_DIR.yaml
#例子:helm upgrade -i ${JOB_NAME} /usr/local/test/helm/mytest/
#这里helm upgrade 是代表更新的意思, -i 表示如果没有部署则会部署,如果部署了就会更新
#这样一来,每次我们有变更下
#指定values-$IMAGE_DIR.yaml 参数替代,默认中
#命令格式: helm upgrade release名字 chart包目录
#默认情况下,如果release名字不存在,upgrade会失败,可以加上-i 参数当release不存在的时候则安装,存在则更新,将install和uprade命令合并