У меня есть yaml шаблона kind: Namespace, как показано ниже:
apiVersion: v1
kind: Namespace
metadata:
name: {{ .Values.namespace }}
namespace: ""
Как заставить helm install создать указанное выше пространство имен ({{ .Values.namespace }}) тогда и только тогда, когда указанное выше пространство имен ({{ .Values.namespace }}) не выходит из указанного кластера Kubernetes?
Спасибо.

Для helm2 лучше по возможности избегать создания пространства имен как части содержимого вашей диаграммы и позволить helm управлять им. helm install с опцией --namespace=<namespace_name> должен автоматически создать пространство имен. Вы можете ссылаться на это пространство имен в своей диаграмме с помощью {{ .Release.Namespace }}. В настоящее время существует только один пример создания пространства имен в общедоступном репозитории helm / charts, в котором используется ручной флаг для проверки, создавать ли его
Для helm3 изменился функционал и есть проблема github по этому поводу
Вы можете сделать что-то для создания пространства имен, только если пользователь так скажет - как в github.com/helm/charts/blob/…
Флаг --namespace не создает пространство имен автоматически в версии 3.0. Но эта функция будет возвращена в версии 3.1.
Кажется, я не добавлен в 3.1.1
Что, если диаграмма содержит несколько компонентов, которые следует разместить более чем в одном пространстве имен? Единственный вариант - создать их «вне» графика?
Что, если диаграмма содержит несколько компонентов, которые следует разместить более чем в одном пространстве имен? Единственный вариант - создать их «вне» графика?
Эта функция реализована в helm> = 3.2 (Запрос на вытягивание)
Используйте --create-namespace в дополнение к --namespace <namespace>
В командах Helm есть некоторые различия из-за разных версий.
Для Helm 2 просто используйте --namespace; для Helm 3 необходимо использовать --namespace и --create-namespace.
Пример Helm 2:
helm install stable/nginx-ingress --name ingress-nginx --namespace ingress-nginx --wait
Helm 3 Пример:
helm install ingress-nginx stable/nginx-ingress --namespace ingress-nginx --create-namespace --wait
что произойдет, если пространство имен уже существует, но я использовал --create-namespace
В случае развертывания руля-зонта, как обращаться. Потому что в этом случае нам нужно несколько пространств имен.