Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/kubernetes/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Go Kubernetes舵图,如果条件检查_Go_Kubernetes_Go Templates_Kubernetes Helm - Fatal编程技术网

Go Kubernetes舵图,如果条件检查

Go Kubernetes舵图,如果条件检查,go,kubernetes,go-templates,kubernetes-helm,Go,Kubernetes,Go Templates,Kubernetes Helm,我想补充一下,如果比掌舵图中的状态更好的话。这是投掷错误 我在values.yaml中定义了值,并在deployment.yaml中使用该值作为条件 值。yaml replicaCount: 2 rollingUpdate: maxSurge: 1 {{ if gt .Values.replicaCount 2}} maxUnavailable: 0 {{ else }} maxUnavailable: 1 {{ end }} rollingUpdate: max

我想补充一下,如果比掌舵图中的状态更好的话。这是投掷错误

我在values.yaml中定义了值,并在deployment.yaml中使用该值作为条件

值。yaml

replicaCount: 2
rollingUpdate:
  maxSurge: 1
  {{ if gt .Values.replicaCount 2}}
  maxUnavailable: 0
  {{ else }}
  maxUnavailable: 1
  {{ end }}
rollingUpdate:
  maxSurge: 1
  {{ if gt .Values.replicaCount 2.0}}
  maxUnavailable: 0
  {{ else }}
  maxUnavailable: 1
  {{ end }}
部署。yaml

replicaCount: 2
rollingUpdate:
  maxSurge: 1
  {{ if gt .Values.replicaCount 2}}
  maxUnavailable: 0
  {{ else }}
  maxUnavailable: 1
  {{ end }}
rollingUpdate:
  maxSurge: 1
  {{ if gt .Values.replicaCount 2.0}}
  maxUnavailable: 0
  {{ else }}
  maxUnavailable: 1
  {{ end }}
我正在使用helm干运行选项检查结果。获取错误

Error: render error in "hello-world/templates/deployment.yaml": template: hello-world/templates/deployment.yaml:16:12: executing "hello-world/templates/deployment.yaml" at <gt .Values.replicaCo...>: error calling gt: incompatible types for comparison
Error:render Error in“hello world/templates/deployment.yaml”:template:hello world/templates/deployment.yaml。yaml:16:12:在以下位置执行“hello world/templates/deployment.yaml”:调用gt:不兼容类型进行比较时出错

如何解决此问题?

尝试使用浮点数进行比较:

部署。yaml

replicaCount: 2
rollingUpdate:
  maxSurge: 1
  {{ if gt .Values.replicaCount 2}}
  maxUnavailable: 0
  {{ else }}
  maxUnavailable: 1
  {{ end }}
rollingUpdate:
  maxSurge: 1
  {{ if gt .Values.replicaCount 2.0}}
  maxUnavailable: 0
  {{ else }}
  maxUnavailable: 1
  {{ end }}
头盔(以及底层的Golang模板和Yaml)有时可能会很奇怪


另外,请注意,有时需要在yaml配置中键入值(例如端口号)

例如:

...
ports:
- containerPort: !!int {{ .Values.containers.app.port }}
...

关于Yaml类型转换的更多信息:

您解决了这个问题吗?您能帮我做类型转换吗?我正在尝试使用类型转换选项。它不起作用。它正在抛出错误。{-if gt!!int{{.Values.replicaccount}}1}。如何键入强制转换?您也可以尝试不是按yaml而是按Go模板进行强制转换:
containerPort:{{{.Values.replicaCount | int}}
什么是“-”是{{-if.Values.enable}。。{{end}}被称为?@Pasha它是关于控制空白的。请参阅: