helm的骚操作,一般人我不告诉他

helm这工具在做CICD的过程中,如果是用默认的install,或者upgrade的话,会出现各种报错,主要原因是helm的release在作怪,原本kubectl apply玩得很哈皮,到helm这里就各种水土不服了,于是产生了以下骚操作。有没有什么办法让helm像kubectl apply一样酸爽,我用helm做CICD的目的只是因为它比sed可以更舒服的替换变量。

好的通过查看helm的帮助信息,可以发现--dry-run 这个参数,这个不就跟kubectl一样,不会实际安装,只是用来测试语法问题的神器么,并且它会输出yaml格式的结果。very good!

有了--dry-run之后,但仍有一个问题,假如你当前集群已经安装过应用,即使--dry-run也会出现一些冲突错误,真是极其恶心,于是它来了。

首先用最快,并且最省资源的办法搭建一个全新的集群,我是用rancher的k3s,1核2g内存安装的,并且得和实际环境安装相同的插件,比如我用上了istio,那么k3s也得装上istio,否则,因为istio是crd的资源,不装helm就无法识别istio的crd资源格式。

然后把k3s的config文件搞出来。好了定义两个常用的变量吧,我这里是shell里面的

CLI="/usr/bin/kubectl --kubeconfig /root/.kube/config"  (这里是实际要安装应用的k8s集群config)

HELM="/usr/bin/helm  --kubeconfig /root/.kube/k3s"  (这里是使用的k3s的config)

好了执行的安装命令如下:

$HELM install  --set replicas=$replicas --set image.tag=$tag  $service-$env . --dry-run   |tail -n +9 |$CLI apply -f -

用helm的--dry-run测试语法参数,同时使用k3s的干净环境(因为--dry-run永远不会安装任何应用,避免了release各种冲突),生成yaml文件,最后只用kubectl在实际集群apply yaml就可以了

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

weixin_36013896

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值