Это меня раздражало, потому что я тестирую множество пакетов helm, поэтому я написал быстрый скрипт - который можно изменить, чтобы отсортировать ваш рабочий процесс, возможно, см. Ниже
Новый рабочий процесс Сначала загрузите диаграмму в виде 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 convert, подобного этому
Если вам нужно отредактировать YAML для настройки - просто замените один из / dev / stdin на промежуточные файлы, но, вероятно, лучше установить его, используя "create" с сохранением конфигурации, как я, а затем просто "применить" ваши изменения это означает, что они будут записаны также в kubernetes. Удачи