这让我很烦,因为我正在测试许多头盔包,所以我写了一个快速脚本-可以对其进行修改以对您的工作流程进行排序,如下所示
新的工作流程首先将图表作为tgz提取到您的工作目录
helm fetch repo/chart
然后在您的工作中直接运行下面的bash脚本-我将其命名为helmk
helmk myreleasename mynamespace chart.tgz [any parameters for kubectl create]
Helmk的内容-需要编辑您的kubeconfig集群名称才能工作
#!/bin/bash
echo usage $0 releasename namespace chart.tgz [createparameter1] [createparameter2] ... [createparameter n]
echo This will use your namespace then shift back to default so be careful!!
kubectl create namespace $2 #this will create harmless error if namespace exists have to ignore
kubectl config set-context MYCLUSTERNAME --namespace $2
helm template -n $1 --namespace $2 $3 | kubectl convert -f /dev/stdin | kubectl create --save-config=true ${@:4} -f /dev/stdin
#note the --namespace parameter in helm template above seems to be ignored so we have to manually switch context
kubectl config set-context MYCLUSTERNAME --namespace default
这是一个有点危险的黑客,因为我手动切换到您所需的新名称空间上下文,然后再次返回,因此只能用于单用户开发人员或对此进行注释。
您将收到有关使用像这样的kubectl转换工具的警告
如果您需要编辑YAML以进行自定义-只需将/ dev / stdin之一替换为中间文件,但最好像我一样使用带有save-config的“ create”来启动它,然后简单地“应用”您的更改这意味着它们也将被记录在kubernetes中。祝好运