Как создать пространство имен, если оно не существует из шаблонов HELM?

У меня есть yaml шаблона kind: Namespace, как показано ниже:

apiVersion: v1
kind: Namespace
metadata:
  name: {{ .Values.namespace }}
  namespace: ""

Как заставить helm install создать указанное выше пространство имен ({{ .Values.namespace }}) тогда и только тогда, когда указанное выше пространство имен ({{ .Values.namespace }}) не выходит из указанного кластера Kubernetes?

Спасибо.

Развертывание модели машинного обучения с помощью Flask - Angular в Kubernetes
Развертывание модели машинного обучения с помощью Flask - Angular в Kubernetes
Kubernetes - это портативная, расширяемая платформа с открытым исходным кодом для управления контейнерными рабочими нагрузками и сервисами, которая...
32
0
27 692
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Ответ принят как подходящий

Для helm2 лучше по возможности избегать создания пространства имен как части содержимого вашей диаграммы и позволить helm управлять им. helm install с опцией --namespace=<namespace_name> должен автоматически создать пространство имен. Вы можете ссылаться на это пространство имен в своей диаграмме с помощью {{ .Release.Namespace }}. В настоящее время существует только один пример создания пространства имен в общедоступном репозитории helm / charts, в котором используется ручной флаг для проверки, создавать ли его

Для helm3 изменился функционал и есть проблема github по этому поводу

В случае развертывания руля-зонта, как обращаться. Потому что в этом случае нам нужно несколько пространств имен.

xyz_scala 18.11.2019 15:11

Вы можете сделать что-то для создания пространства имен, только если пользователь так скажет - как в github.com/helm/charts/blob/…

Ryan Dawson 19.11.2019 12:03

Флаг --namespace не создает пространство имен автоматически в версии 3.0. Но эта функция будет возвращена в версии 3.1.

Dennis Meissel 16.12.2019 11:03

Кажется, я не добавлен в 3.1.1

aitorhh 09.03.2020 17:20

Что, если диаграмма содержит несколько компонентов, которые следует разместить более чем в одном пространстве имен? Единственный вариант - создать их «вне» графика?

GACy20 09.03.2021 14:42

Что, если диаграмма содержит несколько компонентов, которые следует разместить более чем в одном пространстве имен? Единственный вариант - создать их «вне» графика?

GACy20 09.03.2021 14:42

Эта функция реализована в 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

Arsen 05.05.2021 19:44

Другие вопросы по теме