#kubernetes #cloud #kubernetes-helm #helm3
Вопрос:
Мне нужно установить одну и ту же диаграмму управления в разные пространства имен, поэтому несколько раз. Диаграмма содержит ресурсы в области кластера, такие как ClusterRoles или CustomResourceDefinitions.
Проблема в том, что я могу установить его только один раз, во второй раз у меня появляется ошибка «уже существует, не управляется helm».
Что я пробовал:
- Помещение CRD в отдельную папку работает хорошо, за исключением того, что я не могу, поскольку мои CRD содержат значения helm, а папка crds не принимает шаблоны.
- Используя что-то вроде этого:
{{- $crds := lookup "apiextensions.k8s.io/v1" "CustomResourceDefinition" .Release.Namespace "path.to.new.crd" -}}
{{- if not $crds -}}
{{- end }}
Но это тоже не идеально, потому что, если я дважды установлю один и тот же helm в одно и то же пространство имен, ресурсы будут удалены, в третий раз они появятся снова, в четвертый раз они исчезнут и так далее.
У кого-нибудь есть более элегантное решение для этого?
Комментарии:
1. Это общедоступная диаграмма или вы сделали это самостоятельно? Можете ли вы поделиться этим? Возможно, ваше единственное решение — использовать отдельные диаграммы для CRD, следуя рекомендациям по диаграммам
2. Например, когда основным способом установки Istio было использование Helm, у него была «диаграмма инициализации», которая содержала только CRD, а затем основную диаграмму инфраструктуры.