如果HELM模板中不存在命名空间,如何创建

时间:2018-08-10 09:45:56

标签: kubernetes google-cloud-platform namespaces kubernetes-helm

我有一个kind: Namespace模板yaml,如下所示,

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

当且仅当以上命名空间(helm install)在尖峰的kubernets集群中没有退出时,我如何使{{ .Values.namespace }}创建上述命名空间({{ .Values.namespace }}

3 个答案:

答案 0 :(得分:23)

此功能在掌舵> = 3.2(Pull Request)中实现

除了--create-namespace之外,还使用--namespace <namespace>

答案 1 :(得分:10)

我建议尽可能避免将名称空间创建为图表内容的一部分,并由头盔管理。带有helm install选项的--namespace=<namespace_name>应该为您自动创建一个名称空间。您可以使用{{ .Release.Namespace }}在图表中引用该名称空间。当前只有一个在公共头盔/图表存储库中创建名称空间的示例,它使用a manual flag for checking whether to create it

答案 2 :(得分:6)

由于版本不同,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