0

有没有办法在 values.yaml 文件中传递端口数组。我想设置多个 ContainerPort。我尝试使用--set "test.containerPort={8080,10102,19905}并收到错误消息作为 io.k8s.apimachinery.pkg.util.intstr.IntOrString 的无效类型:得到“数组”,预期“字符串”。

任何示例/建议都会非常有帮助。

4

1 回答 1

1

Helm 使用 Go 模板机制,因此它实际上从您的参数中获取参数values.yaml并将它们放入template/*文件中。

换句话说,你设置多个容器端口的方式取决于你使用的 Helm Chart。

例如,如果有一个文件template/my-statefulset.yaml

apiVersion: apps/v1
kind: StatefulSet
...
spec:
  template:
    spec:
      containers:
        ports:
{{ toYaml .Values.ports| indent 10 }}
...

然后,您可以使用以下内容values.yaml设置多个容器端口。

ports:
  - name: my first port
    containerPort: 5678
  - name: my second port
    containerPort: 5679
于 2021-09-23T07:52:26.253 回答